reformat with alejandra
This commit is contained in:
parent
5a385fcedc
commit
ccabc0d28a
76 changed files with 348 additions and 256 deletions
|
@ -1,3 +1,3 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [ ./nix.nix ./users ];
|
imports = [./nix.nix ./users];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
trusted-substituters = [
|
trusted-substituters = [
|
||||||
"https://nix-community.cachix.org/"
|
"https://nix-community.cachix.org/"
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [ "nix-command" "flakes" "auto-allocate-uids" "cgroups" "ca-derivations" ];
|
experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "cgroups" "ca-derivations"];
|
||||||
auto-allocate-uids = true;
|
auto-allocate-uids = true;
|
||||||
use-cgroups = true;
|
use-cgroups = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
{ pkgs, secrets, ... }:
|
|
||||||
let
|
|
||||||
user = (import ../../secrets.nix).users;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
secrets,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
user = (import ../../secrets.nix).users;
|
||||||
|
in {
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
users.users = {
|
users.users = {
|
||||||
root.hashedPassword = user.root.hashedPassword;
|
root.hashedPassword = user.root.hashedPassword;
|
||||||
|
@ -11,7 +13,7 @@ in
|
||||||
hashedPassword = user.primary.hashedPassword;
|
hashedPassword = user.primary.hashedPassword;
|
||||||
description = user.primary.realName;
|
description = user.primary.realName;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "docker" "libvirtd" "networkmanager" "tss" "wheel" ];
|
extraGroups = ["docker" "libvirtd" "networkmanager" "tss" "wheel"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
openssh.authorizedKeys.keys = [
|
openssh.authorizedKeys.keys = [
|
||||||
user.primary.sshPublicKey
|
user.primary.sshPublicKey
|
||||||
|
|
22
flake.nix
22
flake.nix
|
@ -26,16 +26,24 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, impermanence, lanzaboote, nixvim }@inputs: {
|
outputs = {
|
||||||
formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".nixpkgs-fmt;
|
self,
|
||||||
nixosConfigurations = let user = (import ./secrets.nix).users; in {
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
impermanence,
|
||||||
|
lanzaboote,
|
||||||
|
nixvim,
|
||||||
|
} @ inputs: {
|
||||||
|
formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".alejandra;
|
||||||
|
nixosConfigurations = let
|
||||||
|
user = (import ./secrets.nix).users;
|
||||||
|
in {
|
||||||
Skipper = nixpkgs.lib.nixosSystem {
|
Skipper = nixpkgs.lib.nixosSystem {
|
||||||
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = inputs;
|
specialArgs = inputs;
|
||||||
modules = [
|
modules = [
|
||||||
{
|
{
|
||||||
nixpkgs.overlays = [ (import ./packages) ];
|
nixpkgs.overlays = [(import ./packages)];
|
||||||
nixpkgs.hostPlatform = nixpkgs.lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = nixpkgs.lib.mkDefault "x86_64-linux";
|
||||||
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
|
||||||
}
|
}
|
||||||
|
@ -51,7 +59,7 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
users.${user.primary.userName} = { pkgs, ... }: {
|
users.${user.primary.userName} = {pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
impermanence.nixosModules.home-manager.impermanence
|
impermanence.nixosModules.home-manager.impermanence
|
||||||
nixvim.homeManagerModules.nixvim
|
nixvim.homeManagerModules.nixvim
|
||||||
|
@ -81,7 +89,7 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
users.${user.primary.userName} = { pkgs, ... }: {
|
users.${user.primary.userName} = {pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./home/common
|
./home/common
|
||||||
./home/server
|
./home/server
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [ ./programs ./services ];
|
imports = [./programs ./services];
|
||||||
home.stateVersion = "23.05";
|
home.stateVersion = "23.05";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
xdg.desktopEntries."btop" = {
|
xdg.desktopEntries."btop" = {
|
||||||
name = "btop++";
|
name = "btop++";
|
||||||
exec = "btop";
|
exec = "btop";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./bat.nix
|
./bat.nix
|
||||||
./btop.nix
|
./btop.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.exa = {
|
programs.exa = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableAliases = true;
|
enableAliases = true;
|
||||||
extraOptions = [ "--group-directories-first" "--group" ];
|
extraOptions = ["--group-directories-first" "--group"];
|
||||||
git = true;
|
git = true;
|
||||||
icons = true;
|
icons = true;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ ... }:
|
{...}: let
|
||||||
let
|
|
||||||
user = (import ../../../secrets.nix).users;
|
user = (import ../../../secrets.nix).users;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
diff-so-fancy = {
|
diff-so-fancy = {
|
||||||
|
@ -18,6 +16,6 @@ in
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
push.autoSetupRemote = true;
|
push.autoSetupRemote = true;
|
||||||
};
|
};
|
||||||
ignores = [ "/.nix" "/.direnv" ];
|
ignores = ["/.nix" "/.direnv"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultKeymap = "viins";
|
defaultKeymap = "viins";
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{ ... }: { }
|
{...}: {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [ ./programs ./services ./wm ./gtk.nix ./persistence.nix ];
|
imports = [./programs ./services ./wm ./gtk.nix ./persistence.nix];
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
xdg.mime.enable = true;
|
xdg.mime.enable = true;
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
let
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
gtkTheme = {
|
gtkTheme = {
|
||||||
name = "Dracula";
|
name = "Dracula";
|
||||||
package = pkgs.dracula-gtk;
|
package = pkgs.dracula-gtk;
|
||||||
|
@ -17,8 +20,7 @@ let
|
||||||
name = "Bibata-Modern-Classic";
|
name = "Bibata-Modern-Classic";
|
||||||
package = pkgs.bibata-cursors;
|
package = pkgs.bibata-cursors;
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
gtk.theme = gtkTheme;
|
gtk.theme = gtkTheme;
|
||||||
home.sessionVariables.GTK_THEME = gtkTheme.name;
|
home.sessionVariables.GTK_THEME = gtkTheme.name;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
home.persistence."/persist/home" = {
|
home.persistence."/persist/home" = {
|
||||||
allowOther = true;
|
allowOther = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
@ -20,15 +20,42 @@
|
||||||
".mozilla"
|
".mozilla"
|
||||||
".nixos-config"
|
".nixos-config"
|
||||||
".ssh"
|
".ssh"
|
||||||
{ directory = "Documents"; method = "symlink"; }
|
{
|
||||||
{ directory = "Downloads"; method = "symlink"; }
|
directory = "Documents";
|
||||||
{ directory = "Music"; method = "symlink"; }
|
method = "symlink";
|
||||||
{ directory = "Others"; method = "symlink"; }
|
}
|
||||||
{ directory = "Pictures"; method = "symlink"; }
|
{
|
||||||
{ directory = "Projects"; method = "symlink"; }
|
directory = "Downloads";
|
||||||
{ directory = "Public"; method = "symlink"; }
|
method = "symlink";
|
||||||
{ directory = "Templates"; method = "symlink"; }
|
}
|
||||||
{ directory = "Videos"; method = "symlink"; }
|
{
|
||||||
|
directory = "Music";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Others";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Pictures";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Projects";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Public";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Templates";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
directory = "Videos";
|
||||||
|
method = "symlink";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.aria2 = {
|
programs.aria2 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./aria2.nix
|
./aria2.nix
|
||||||
./files.nix
|
./files.nix
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
spotify-tui
|
spotify-tui
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
xdg-utils
|
xdg-utils
|
||||||
# yubioath-flutter
|
# yubioath-flutter
|
||||||
yubikey-manager
|
yubikey-manager
|
||||||
yubikey-manager-qt
|
yubikey-manager-qt
|
||||||
yubikey-personalization
|
yubikey-personalization
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = [ pkgs.gnome.nautilus ];
|
home.packages = [pkgs.gnome.nautilus];
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"io/elementary/files/preferences" = {
|
"io/elementary/files/preferences" = {
|
||||||
singleclick-select = true;
|
singleclick-select = true;
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ pkgs, osConfig, ... }: {
|
{
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
programs.gh = {
|
programs.gh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.git_protocol = "ssh";
|
settings.git_protocol = "ssh";
|
||||||
extensions = [ pkgs.gh-dash ];
|
extensions = [pkgs.gh-dash];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.gpg = {
|
programs.gpg = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
let
|
|
||||||
dracula = pkgs.fetchFromGitHub {
|
dracula = pkgs.fetchFromGitHub {
|
||||||
owner = "dracula";
|
owner = "dracula";
|
||||||
repo = "kitty";
|
repo = "kitty";
|
||||||
rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70";
|
rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70";
|
||||||
hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc=";
|
hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc=";
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; };
|
font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
|
||||||
font.name = "FiraCode Nerd Font";
|
font.name = "FiraCode Nerd Font";
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
font_size 14
|
font_size 14
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.mpv.override { youtubeSupport = true; };
|
package = pkgs.mpv.override {youtubeSupport = true;};
|
||||||
config = {
|
config = {
|
||||||
cache = "yes";
|
cache = "yes";
|
||||||
cache-secs = "20";
|
cache-secs = "20";
|
||||||
hwdec = "auto-safe";
|
hwdec = "auto-safe";
|
||||||
gpu-context = "wayland";
|
gpu-context = "wayland";
|
||||||
};
|
};
|
||||||
defaultProfiles = [ "gpu-hq" ];
|
defaultProfiles = ["gpu-hq"];
|
||||||
scripts = with pkgs.mpvScripts; [ mpris ];
|
scripts = with pkgs.mpvScripts; [mpris];
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.desktopEntries = {
|
xdg.desktopEntries = {
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.nixvim = {
|
programs.nixvim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
@ -62,7 +66,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraPlugins = with pkgs.vimPlugins; [ dracula-nvim git-blame-nvim ];
|
extraPlugins = with pkgs.vimPlugins; [dracula-nvim git-blame-nvim];
|
||||||
colorscheme = "dracula";
|
colorscheme = "dracula";
|
||||||
plugins = {
|
plugins = {
|
||||||
comment-nvim.enable = true;
|
comment-nvim.enable = true;
|
||||||
|
@ -73,12 +77,12 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
snippet.expand = "luasnip";
|
snippet.expand = "luasnip";
|
||||||
sources = [
|
sources = [
|
||||||
{ name = "buffer"; }
|
{name = "buffer";}
|
||||||
{ name = "nvim_lsp"; }
|
{name = "nvim_lsp";}
|
||||||
{ name = "nvim_lsp_document_symbol"; }
|
{name = "nvim_lsp_document_symbol";}
|
||||||
{ name = "nvim_lsp_signature_help"; }
|
{name = "nvim_lsp_signature_help";}
|
||||||
{ name = "treesitter"; }
|
{name = "treesitter";}
|
||||||
{ name = "luasnip"; }
|
{name = "luasnip";}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
cmp-buffer.enable = true;
|
cmp-buffer.enable = true;
|
||||||
|
@ -165,15 +169,15 @@
|
||||||
servers = {
|
servers = {
|
||||||
gopls = {
|
gopls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
filetypes = [ "go" ];
|
filetypes = ["go"];
|
||||||
};
|
};
|
||||||
nil_ls = {
|
nil_ls = {
|
||||||
enable = true;
|
enable = true;
|
||||||
filetypes = [ "nix" ];
|
filetypes = ["nix"];
|
||||||
};
|
};
|
||||||
rust-analyzer = {
|
rust-analyzer = {
|
||||||
enable = true;
|
enable = true;
|
||||||
filetypes = [ "rs" ];
|
filetypes = ["rs"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
enable = true;
|
enable = true;
|
||||||
escapeTime = 0;
|
escapeTime = 0;
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
home.packages = [ pkgs.virt-manager ];
|
home.packages = [pkgs.virt-manager];
|
||||||
dconf.settings = {
|
dconf.settings = {
|
||||||
"org/virt-manager/virt-manager/confirm" = {
|
"org/virt-manager/virt-manager/confirm" = {
|
||||||
forcepoweroff = false;
|
forcepoweroff = false;
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
autoconnect = [ "qemu:///system" ];
|
autoconnect = ["qemu:///system"];
|
||||||
uris = [ "qemu:///system" ];
|
uris = ["qemu:///system"];
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/new-vm" = { firmware = "uefi"; };
|
"org/virt-manager/virt-manager/new-vm" = {firmware = "uefi";};
|
||||||
"org/virt-manager/virt-manager/stats" = {
|
"org/virt-manager/virt-manager/stats" = {
|
||||||
enable-disk-poll = true;
|
enable-disk-poll = true;
|
||||||
enable-net-poll = true;
|
enable-net-poll = true;
|
||||||
};
|
};
|
||||||
"org/virt-manager/virt-manager/vmlist-fields" = { network-traffic = true; };
|
"org/virt-manager/virt-manager/vmlist-fields" = {network-traffic = true;};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.yt-dlp = {
|
programs.yt-dlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
systemd.user.services.aria2c = {
|
systemd.user.services.aria2c = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "Aria2c Download Manager";
|
Description = "Aria2c Download Manager";
|
||||||
Documentation = [ "man:aria2c(1)" ];
|
Documentation = ["man:aria2c(1)"];
|
||||||
After = [ "network.target" ];
|
After = ["network.target"];
|
||||||
};
|
};
|
||||||
Install = {
|
Install = {
|
||||||
WantedBy = [ "default.target" ];
|
WantedBy = ["default.target"];
|
||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./aria2c.nix
|
./aria2c.nix
|
||||||
./gpg-agent.nix
|
./gpg-agent.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
services = {
|
services = {
|
||||||
gpg-agent = {
|
gpg-agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
services = {
|
services = {
|
||||||
spotifyd = {
|
spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./rofi
|
./rofi
|
||||||
./waybar
|
./waybar
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu";
|
dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu";
|
||||||
firefox = "${config.programs.firefox.package}/bin/firefox";
|
firefox = "${config.programs.firefox.package}/bin/firefox";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
enable = true;
|
enable = true;
|
||||||
iconTheme.name = config.gtk.iconTheme.name;
|
iconTheme.name = config.gtk.iconTheme.name;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
services.kanshi = {
|
services.kanshi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemdTarget = "graphical-session.target";
|
systemdTarget = "graphical-session.target";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cycle = false;
|
cycle = false;
|
||||||
|
@ -21,5 +21,4 @@
|
||||||
noDisplay = true;
|
noDisplay = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: let
|
||||||
let
|
|
||||||
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
||||||
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
|
hyprctl = "${pkgs.hyprland}/bin/hyprctl";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services.swayidle = {
|
services.swayidle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemdTarget = "graphical-session.target";
|
systemdTarget = "graphical-session.target";
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ config, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.waybar.overrideAttrs (oldAttrs: {
|
package = pkgs.waybar.overrideAttrs (oldAttrs: {
|
||||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
|
||||||
});
|
});
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
style = ./style.css;
|
style = ./style.css;
|
||||||
|
@ -11,9 +15,9 @@
|
||||||
layer = "top";
|
layer = "top";
|
||||||
position = "top";
|
position = "top";
|
||||||
height = 28;
|
height = 28;
|
||||||
modules-left = [ "sway/workspaces" "wlr/workspaces" "sway/window" "hyprland/window" "sway/mode" "hyprland/submap" ];
|
modules-left = ["sway/workspaces" "wlr/workspaces" "sway/window" "hyprland/window" "sway/mode" "hyprland/submap"];
|
||||||
modules-center = [ ];
|
modules-center = [];
|
||||||
modules-right = [ "tray" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock" ];
|
modules-right = ["tray" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock"];
|
||||||
"sway/mode" = {
|
"sway/mode" = {
|
||||||
"format" = "{}";
|
"format" = "{}";
|
||||||
};
|
};
|
||||||
|
@ -36,7 +40,7 @@
|
||||||
};
|
};
|
||||||
"backlight" = {
|
"backlight" = {
|
||||||
"format" = "{icon}";
|
"format" = "{icon}";
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" ];
|
"format-icons" = ["" "" "" "" "" "" ""];
|
||||||
};
|
};
|
||||||
"battery" = {
|
"battery" = {
|
||||||
"states" = {
|
"states" = {
|
||||||
|
@ -48,7 +52,7 @@
|
||||||
"format-alt" = "{icon} {capacity}% ({time})";
|
"format-alt" = "{icon} {capacity}% ({time})";
|
||||||
"format-charging" = " {capacity}%";
|
"format-charging" = " {capacity}%";
|
||||||
"format-plugged" = " {capacity}%";
|
"format-plugged" = " {capacity}%";
|
||||||
"format-icons" = [ "" "" "" "" "" "" "" "" "" "" "" ];
|
"format-icons" = ["" "" "" "" "" "" "" "" "" "" ""];
|
||||||
"tooltip" = false;
|
"tooltip" = false;
|
||||||
};
|
};
|
||||||
"network" = {
|
"network" = {
|
||||||
|
@ -71,7 +75,7 @@
|
||||||
"headphones" = "";
|
"headphones" = "";
|
||||||
"headset" = "";
|
"headset" = "";
|
||||||
"car" = "";
|
"car" = "";
|
||||||
"default" = [ "" "" "" ];
|
"default" = ["" "" ""];
|
||||||
};
|
};
|
||||||
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol";
|
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hyprland
|
./hyprland
|
||||||
./sway
|
./sway
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ config, pkgs, ... }:
|
{
|
||||||
let
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
dbus-update-activation-environment = "${pkgs.dbus}/bin/dbus-update-activation-environment";
|
dbus-update-activation-environment = "${pkgs.dbus}/bin/dbus-update-activation-environment";
|
||||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||||
grim = "${pkgs.grim}/bin/grim";
|
grim = "${pkgs.grim}/bin/grim";
|
||||||
|
@ -14,8 +17,7 @@ let
|
||||||
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
||||||
change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
||||||
wallhaven-wallpaper = "${pkgs.scripts}/bin/wallhaven";
|
wallhaven-wallpaper = "${pkgs.scripts}/bin/wallhaven";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
hyprland
|
hyprland
|
||||||
];
|
];
|
||||||
|
@ -23,11 +25,11 @@ in
|
||||||
systemd.user.targets = {
|
systemd.user.targets = {
|
||||||
hyprland-session = {
|
hyprland-session = {
|
||||||
Unit = {
|
Unit = {
|
||||||
After = [ "graphical-session-pre.target" ];
|
After = ["graphical-session-pre.target"];
|
||||||
BindsTo = [ "graphical-session.target" ];
|
BindsTo = ["graphical-session.target"];
|
||||||
Description = "Hyprland session";
|
Description = "Hyprland session";
|
||||||
Documentation = [ "man:systemd.special(7)" ];
|
Documentation = ["man:systemd.special(7)"];
|
||||||
Wants = [ "graphical-session-pre.target" ];
|
Wants = ["graphical-session-pre.target"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -160,14 +162,14 @@ in
|
||||||
bind = SUPER,Return, exec, ${kitty} ${tmux} new
|
bind = SUPER,Return, exec, ${kitty} ${tmux} new
|
||||||
bind = SUPER_SHIFT,Return, exec, ${kitty}
|
bind = SUPER_SHIFT,Return, exec, ${kitty}
|
||||||
bind = SUPER,d, exec, ${rofi} -show drun
|
bind = SUPER,d, exec, ${rofi} -show drun
|
||||||
bind = SUPER,escape, exec, ${swaylock} -f -i /tmp/lockpaper.jpg
|
bind = SUPER,escape, exec, ${swaylock} -f -i /tmp/lockpaper.jpg
|
||||||
bind = SUPER_SHIFT,W, exec, ${change-wallpaper}
|
bind = SUPER_SHIFT,W, exec, ${change-wallpaper}
|
||||||
bind = SUPER_ALT,W, exec, ${wallhaven-wallpaper}
|
bind = SUPER_ALT,W, exec, ${wallhaven-wallpaper}
|
||||||
bind = SUPER_SHIFT,escape, exec, ${pkgs.scripts}/bin/power-menu
|
bind = SUPER_SHIFT,escape, exec, ${pkgs.scripts}/bin/power-menu
|
||||||
bind = SUPER,f11, exec, ${pkgs.scripts}/bin/tmux-sessions
|
bind = SUPER,f11, exec, ${pkgs.scripts}/bin/tmux-sessions
|
||||||
|
|
||||||
bindr = ,print, exec, ${grim} "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"
|
bindr = ,print, exec, ${grim} "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"
|
||||||
bindr = SHIFT,print, exec, ${grim} -g "''$(${slurp})" "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"
|
bindr = SHIFT,print, exec, ${grim} -g "''$(${slurp})" "''$(${xdg-user-dir} PICTURES)/Screenshots/screenshot-''$(date +%Y-%m-%d-%H-%M-%S).png"
|
||||||
|
|
||||||
bind = SUPER,1, workspace, 1
|
bind = SUPER,1, workspace, 1
|
||||||
bind = SUPER,2, workspace, 2
|
bind = SUPER,2, workspace, 2
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
systemdIntegration = true;
|
systemdIntegration = true;
|
||||||
|
@ -8,7 +12,7 @@
|
||||||
config = {
|
config = {
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
fonts = {
|
fonts = {
|
||||||
names = [ "FiraCode Nerd Font" ];
|
names = ["FiraCode Nerd Font"];
|
||||||
size = 11.0;
|
size = 11.0;
|
||||||
};
|
};
|
||||||
input = {
|
input = {
|
||||||
|
@ -19,7 +23,7 @@
|
||||||
middle_emulation = "enabled";
|
middle_emulation = "enabled";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
bars = [ ];
|
bars = [];
|
||||||
gaps = {
|
gaps = {
|
||||||
outer = 2;
|
outer = 2;
|
||||||
inner = 2;
|
inner = 2;
|
||||||
|
@ -71,22 +75,21 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings =
|
keybindings = let
|
||||||
let
|
modifier = config.wayland.windowManager.sway.config.modifier;
|
||||||
modifier = config.wayland.windowManager.sway.config.modifier;
|
|
||||||
|
|
||||||
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
|
||||||
grim = "${pkgs.grim}/bin/grim";
|
grim = "${pkgs.grim}/bin/grim";
|
||||||
kitty = "${config.programs.kitty.package}/bin/kitty";
|
kitty = "${config.programs.kitty.package}/bin/kitty";
|
||||||
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
playerctl = "${pkgs.playerctl}/bin/playerctl";
|
||||||
rofi = "${config.programs.rofi.package}/bin/rofi";
|
rofi = "${config.programs.rofi.package}/bin/rofi";
|
||||||
tmux = "${config.programs.tmux.package}/bin/tmux";
|
tmux = "${config.programs.tmux.package}/bin/tmux";
|
||||||
slurp = "${pkgs.slurp}/bin/slurp";
|
slurp = "${pkgs.slurp}/bin/slurp";
|
||||||
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
swaylock = "${pkgs.swaylock}/bin/swaylock";
|
||||||
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
wpctl = "${pkgs.wireplumber}/bin/wpctl";
|
||||||
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
|
||||||
change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
||||||
in
|
in
|
||||||
lib.mkOptionDefault {
|
lib.mkOptionDefault {
|
||||||
"${modifier}+Return" = "exec ${kitty} ${tmux} new";
|
"${modifier}+Return" = "exec ${kitty} ${tmux} new";
|
||||||
"${modifier}+Shift+Return" = "exec ${kitty}";
|
"${modifier}+Shift+Return" = "exec ${kitty}";
|
||||||
|
@ -113,7 +116,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
startup = [
|
startup = [
|
||||||
{ command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; }
|
{command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";}
|
||||||
{
|
{
|
||||||
command = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
command = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
|
||||||
always = true;
|
always = true;
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [ ./programs ./services ];
|
imports = [./programs ./services];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{ ... }: { }
|
{...}: {}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{ ... }: { }
|
{...}: {}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware
|
./hardware
|
||||||
./programs
|
./programs
|
||||||
|
@ -25,7 +24,7 @@
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
supportedLocales = [ "en_US.UTF-8/UTF-8" ];
|
supportedLocales = ["en_US.UTF-8/UTF-8"];
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "Asia/Kolkata";
|
time.timeZone = "Asia/Kolkata";
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [ ./filesystem.nix ./kernel.nix ];
|
imports = [./filesystem.nix ./kernel.nix];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-partlabel/NIXOS_ROOT";
|
device = "/dev/disk/by-partlabel/NIXOS_ROOT";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "noatime" "compress=zstd" ];
|
options = ["noatime" "compress=zstd"];
|
||||||
};
|
};
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-partlabel/ESP";
|
device = "/dev/disk/by-partlabel/ESP";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, pkgs, ... }: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
];
|
];
|
||||||
|
@ -6,5 +6,5 @@
|
||||||
programs = {
|
programs = {
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
};
|
};
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
security = {
|
security = {
|
||||||
apparmor = {
|
apparmor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
{ config, lib, pkgs, ... }: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware
|
./hardware
|
||||||
./programs
|
./programs
|
||||||
|
@ -11,7 +16,7 @@
|
||||||
./virtualisation.nix
|
./virtualisation.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
console.useXkbConfig = true;
|
console.useXkbConfig = true;
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
@ -24,7 +29,7 @@
|
||||||
fonts = with pkgs; [
|
fonts = with pkgs; [
|
||||||
cantarell-fonts
|
cantarell-fonts
|
||||||
liberation_ttf
|
liberation_ttf
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
(nerdfonts.override {fonts = ["FiraCode"];})
|
||||||
noto-fonts
|
noto-fonts
|
||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
|
@ -47,7 +52,7 @@
|
||||||
LC_TIME = "en_US.UTF-8";
|
LC_TIME = "en_US.UTF-8";
|
||||||
LC_ALL = "en_US.UTF-8";
|
LC_ALL = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
supportedLocales = [ "en_US.UTF-8/UTF-8" ];
|
supportedLocales = ["en_US.UTF-8/UTF-8"];
|
||||||
};
|
};
|
||||||
|
|
||||||
location.provider = "geoclue2";
|
location.provider = "geoclue2";
|
||||||
|
@ -70,13 +75,12 @@
|
||||||
wireless.iwd.enable = true;
|
wireless.iwd.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
time.timeZone = "Asia/Kolkata";
|
time.timeZone = "Asia/Kolkata";
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-hyprland ];
|
extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-hyprland];
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ lib, pkgs, config, ... }: {
|
{
|
||||||
imports = [ ./kernel.nix ./filesystem.nix ];
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [./kernel.nix ./filesystem.nix];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.luks.devices = {
|
initrd.luks.devices = {
|
||||||
|
@ -12,10 +17,10 @@
|
||||||
};
|
};
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
resumeDevice = "/dev/vg0/swap";
|
resumeDevice = "/dev/vg0/swap";
|
||||||
supportedFilesystems = [ "btrfs" ];
|
supportedFilesystems = ["btrfs"];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [{ device = "/dev/vg0/swap"; }];
|
swapDevices = [{device = "/dev/vg0/swap";}];
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth = {
|
bluetooth = {
|
||||||
|
@ -26,20 +31,20 @@
|
||||||
KernelExperimental = true;
|
KernelExperimental = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
package = (pkgs.bluez.override { withExperimental = true; });
|
package = pkgs.bluez.override {withExperimental = true;};
|
||||||
};
|
};
|
||||||
cpu.intel.updateMicrocode = lib.mkDefault true;
|
cpu.intel.updateMicrocode = lib.mkDefault true;
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
gpgSmartcards.enable = true;
|
gpgSmartcards.enable = true;
|
||||||
opengl = {
|
opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = [ pkgs.intel-media-driver ];
|
extraPackages = [pkgs.intel-media-driver];
|
||||||
driSupport = true;
|
driSupport = true;
|
||||||
driSupport32Bit = true;
|
driSupport32Bit = true;
|
||||||
};
|
};
|
||||||
sensor.hddtemp = {
|
sensor.hddtemp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
drives = [ "/dev/disk/by-path/pci-0000:01:00.0-nvme-1" ];
|
drives = ["/dev/disk/by-path/pci-0000:01:00.0-nvme-1"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=@root" "compress-force=zstd" "noatime" ];
|
options = ["subvol=@root" "compress-force=zstd" "noatime"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/home" = {
|
"/home" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=@home" "compress-force=zstd" "noatime" ];
|
options = ["subvol=@home" "compress-force=zstd" "noatime"];
|
||||||
};
|
};
|
||||||
"/nix" = {
|
"/nix" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/@nix" "compress-force=zstd" "noatime" ];
|
options = ["subvol=/@nix" "compress-force=zstd" "noatime"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/persist" = {
|
"/persist" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/@persist" "compress-force=zstd" "noatime" ];
|
options = ["subvol=/@persist" "compress-force=zstd" "noatime"];
|
||||||
neededForBoot = true;
|
neededForBoot = true;
|
||||||
};
|
};
|
||||||
"/mnt/system" = {
|
"/mnt/system" = {
|
||||||
device = "/dev/vg0/system";
|
device = "/dev/vg0/system";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=/" "compress-force=zstd" "noatime" ];
|
options = ["subvol=/" "compress-force=zstd" "noatime"];
|
||||||
};
|
};
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-partlabel/ESP";
|
device = "/dev/disk/by-partlabel/ESP";
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, pkgs, ... }: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
consoleLogLevel = 3;
|
consoleLogLevel = 3;
|
||||||
initrd = {
|
initrd = {
|
||||||
|
@ -11,12 +15,12 @@
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
"rtsx_pci_sdmmc"
|
"rtsx_pci_sdmmc"
|
||||||
];
|
];
|
||||||
kernelModules = [ "i915" ];
|
kernelModules = ["i915"];
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-intel" ];
|
kernelModules = ["kvm-intel"];
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelParams = [ "quiet" ];
|
kernelParams = ["quiet"];
|
||||||
kernel.sysctl = {
|
kernel.sysctl = {
|
||||||
"vm.swappiness" = 0;
|
"vm.swappiness" = 0;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
environment.persistence."/persist/system" = {
|
environment.persistence."/persist/system" = {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
boot.plymouth = {
|
boot.plymouth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
themePackages = [
|
themePackages = [
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./gnupg.nix
|
./gnupg.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
|
@ -13,5 +12,5 @@
|
||||||
xwayland.enable = true;
|
xwayland.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
};
|
};
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = ["/share/zsh"];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableExtraSocket = true;
|
enableExtraSocket = true;
|
||||||
enableSSHSupport = true;
|
enableSSHSupport = true;
|
||||||
pinentryFlavor = "gnome3";
|
pinentryFlavor = "gnome3";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
boot.initrd.systemd.services.rollback = {
|
boot.initrd.systemd.services.rollback = {
|
||||||
description = "Rollback root subvolume to blank state";
|
description = "Rollback root subvolume to blank state";
|
||||||
wantedBy = [ "initrd.target" ];
|
wantedBy = ["initrd.target"];
|
||||||
after = [ "dev-vg0-system.device" ];
|
after = ["dev-vg0-system.device"];
|
||||||
before = [ "sysroot.mount" ];
|
before = ["sysroot.mount"];
|
||||||
unitConfig.DefaultDependencies = "no";
|
unitConfig.DefaultDependencies = "no";
|
||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
script = ''
|
script = ''
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, pkgs, ... }: {
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
boot.bootspec.enable = true;
|
boot.bootspec.enable = true;
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||||
boot.lanzaboote = {
|
boot.lanzaboote = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
security = {
|
security = {
|
||||||
apparmor = {
|
apparmor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
services = {
|
services = {
|
||||||
passwd.enableGnomeKeyring = true;
|
passwd.enableGnomeKeyring = true;
|
||||||
login.enableGnomeKeyring = true;
|
login.enableGnomeKeyring = true;
|
||||||
swaylock = { };
|
swaylock = {};
|
||||||
};
|
};
|
||||||
u2f = {
|
u2f = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
tctiEnvironment.enable = true;
|
tctiEnvironment.enable = true;
|
||||||
};
|
};
|
||||||
sudo = {
|
sudo = {
|
||||||
package = pkgs.sudo.override { withInsults = true; };
|
package = pkgs.sudo.override {withInsults = true;};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
Defaults lecture="never"
|
Defaults lecture="never"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
services.dbus = {
|
services.dbus = {
|
||||||
enable = true;
|
enable = true;
|
||||||
apparmor = "enabled";
|
apparmor = "enabled";
|
||||||
packages = with pkgs; [ gcr gcr_4 ];
|
packages = with pkgs; [gcr gcr_4];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
{ pkgs, secrets, ... }:
|
|
||||||
let
|
|
||||||
user = (import ../../../secrets.nix).users;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
secrets,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
user = (import ../../../secrets.nix).users;
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./dbus.nix
|
./dbus.nix
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
services.tlp = {
|
services.tlp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
services.udev = {
|
services.udev = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [ pkgs.yubikey-personalization ];
|
packages = [pkgs.yubikey-personalization];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, ... }: {
|
{pkgs, ...}: {
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
docker = {
|
docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
qemu.ovmf = {
|
qemu.ovmf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [ pkgs.OVMFFull.fd ];
|
packages = [pkgs.OVMFFull.fd];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
{ lib
|
{
|
||||||
, stdenvNoCC
|
lib,
|
||||||
, fetchFromGitHub
|
stdenvNoCC,
|
||||||
, pack ? "pack_1"
|
fetchFromGitHub,
|
||||||
, theme ? "cuts"
|
pack ? "pack_1",
|
||||||
,
|
theme ? "cuts",
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "adi1090x-plymouth";
|
pname = "adi1090x-plymouth";
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
self: super: {
|
self: super: {
|
||||||
adi1090x-plymouth = super.callPackage ./adi1090x-plymouth { };
|
adi1090x-plymouth = super.callPackage ./adi1090x-plymouth {};
|
||||||
dracula-gtk = super.callPackage ./dracula-gtk { };
|
dracula-gtk = super.callPackage ./dracula-gtk {};
|
||||||
newaita-icon-theme = super.callPackage ./newaita-icon-theme { };
|
newaita-icon-theme = super.callPackage ./newaita-icon-theme {};
|
||||||
scripts = super.callPackage ./scripts { };
|
scripts = super.callPackage ./scripts {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ lib
|
{
|
||||||
, stdenvNoCC
|
lib,
|
||||||
, fetchFromGitHub
|
stdenvNoCC,
|
||||||
, gtk3
|
fetchFromGitHub,
|
||||||
, gnome-themes-extra
|
gtk3,
|
||||||
, gtk-engine-murrine
|
gnome-themes-extra,
|
||||||
,
|
gtk-engine-murrine,
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "dracula-gtk";
|
pname = "dracula-gtk";
|
||||||
|
@ -17,13 +17,13 @@ stdenvNoCC.mkDerivation {
|
||||||
hash = "sha256-p9zu40o7gP08juBiDV3OzwGV6Qjgg/I0GDzV9qOlEgk=";
|
hash = "sha256-p9zu40o7gP08juBiDV3OzwGV6Qjgg/I0GDzV9qOlEgk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [gtk3];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gnome-themes-extra
|
gnome-themes-extra
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
|
propagatedUserEnvPkgs = [gtk-engine-murrine];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ lib
|
{
|
||||||
, stdenvNoCC
|
lib,
|
||||||
, fetchFromGitHub
|
stdenvNoCC,
|
||||||
, gtk3
|
fetchFromGitHub,
|
||||||
, gnome
|
gtk3,
|
||||||
, gnome-icon-theme
|
gnome,
|
||||||
, hicolor-icon-theme
|
gnome-icon-theme,
|
||||||
, panel ? "dark"
|
hicolor-icon-theme,
|
||||||
, folder ? "default"
|
panel ? "dark",
|
||||||
,
|
folder ? "default",
|
||||||
}:
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "newaita-icon-theme";
|
pname = "newaita-icon-theme";
|
||||||
|
@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation {
|
||||||
hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI=";
|
hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ gtk3 ];
|
nativeBuildInputs = [gtk3];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
gnome.adwaita-icon-theme
|
gnome.adwaita-icon-theme
|
||||||
|
|
|
@ -1,29 +1,42 @@
|
||||||
{ lib, stdenvNoCC, makeWrapper, libnotify, rofi-wayland, tmux, kitty, imagemagick, sway, hyprland, swww, jq, curl }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
makeWrapper,
|
||||||
|
libnotify,
|
||||||
|
rofi-wayland,
|
||||||
|
tmux,
|
||||||
|
kitty,
|
||||||
|
imagemagick,
|
||||||
|
sway,
|
||||||
|
hyprland,
|
||||||
|
swww,
|
||||||
|
jq,
|
||||||
|
curl,
|
||||||
|
}:
|
||||||
stdenvNoCC.mkDerivation {
|
stdenvNoCC.mkDerivation {
|
||||||
pname = "scripts";
|
pname = "scripts";
|
||||||
version = "0.1";
|
version = "0.1";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [makeWrapper];
|
||||||
buildInputs = [ libnotify rofi-wayland tmux kitty ];
|
buildInputs = [libnotify rofi-wayland tmux kitty];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
cp power-menu.sh $out/bin/power-menu
|
cp power-menu.sh $out/bin/power-menu
|
||||||
chmod +x $out/bin/power-menu
|
chmod +x $out/bin/power-menu
|
||||||
wrapProgram $out/bin/power-menu --prefix PATH : ${lib.makeBinPath [ libnotify rofi-wayland sway hyprland ]}
|
wrapProgram $out/bin/power-menu --prefix PATH : ${lib.makeBinPath [libnotify rofi-wayland sway hyprland]}
|
||||||
|
|
||||||
cp tmux-sessions.sh $out/bin/tmux-sessions
|
cp tmux-sessions.sh $out/bin/tmux-sessions
|
||||||
chmod +x $out/bin/tmux-sessions
|
chmod +x $out/bin/tmux-sessions
|
||||||
wrapProgram $out/bin/tmux-sessions --prefix PATH : ${lib.makeBinPath [ tmux kitty rofi-wayland ]}
|
wrapProgram $out/bin/tmux-sessions --prefix PATH : ${lib.makeBinPath [tmux kitty rofi-wayland]}
|
||||||
|
|
||||||
cp chpaper.sh $out/bin/chpaper
|
cp chpaper.sh $out/bin/chpaper
|
||||||
chmod +x $out/bin/chpaper
|
chmod +x $out/bin/chpaper
|
||||||
wrapProgram $out/bin/chpaper --prefix PATH : ${lib.makeBinPath [ imagemagick libnotify swww ]}
|
wrapProgram $out/bin/chpaper --prefix PATH : ${lib.makeBinPath [imagemagick libnotify swww]}
|
||||||
|
|
||||||
cp wallhaven.sh $out/bin/wallhaven
|
cp wallhaven.sh $out/bin/wallhaven
|
||||||
chmod +x $out/bin/wallhaven
|
chmod +x $out/bin/wallhaven
|
||||||
wrapProgram $out/bin/wallhaven --prefix PATH : ${lib.makeBinPath [ imagemagick libnotify swww jq curl ]}
|
wrapProgram $out/bin/wallhaven --prefix PATH : ${lib.makeBinPath [imagemagick libnotify swww jq curl]}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue