diff --git a/flake.lock b/flake.lock index 3f460e62..2a496250 100644 --- a/flake.lock +++ b/flake.lock @@ -3,27 +3,6 @@ "ags": { "inputs": { "astal": "astal", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1738087375, - "narHash": "sha256-GLyNtU9A2VN22jNRHZ2OXuFfTJLh8uEVVt+ftsKUX0c=", - "owner": "aylur", - "repo": "ags", - "rev": "a6a7a0adb17740f4c34a59902701870d46fbb6a4", - "type": "github" - }, - "original": { - "owner": "aylur", - "repo": "ags", - "type": "github" - } - }, - "ags_2": { - "inputs": { - "astal": "astal_2", "nixpkgs": [ "hyprpanel", "nixpkgs" @@ -43,28 +22,40 @@ "type": "github" } }, - "astal": { + "aquamarine": { "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], "nixpkgs": [ - "ags", + "hyprland", "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" ] }, "locked": { - "lastModified": 1737670815, - "narHash": "sha256-ZCxxshGN7XooabArcoGkYSNx5yVunqjKJi2aTv6cznI=", - "owner": "aylur", - "repo": "astal", - "rev": "127e9cdcbf173846a3c40ddc0abfbb038df48042", + "lastModified": 1742213273, + "narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf", "type": "github" }, "original": { - "owner": "aylur", - "repo": "astal", + "owner": "hyprwm", + "repo": "aquamarine", "type": "github" } }, - "astal_2": { + "astal": { "inputs": { "nixpkgs": [ "hyprpanel", @@ -170,6 +161,22 @@ } }, "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -246,7 +253,7 @@ "stylix", "flake-compat" ], - "gitignore": "gitignore", + "gitignore": "gitignore_2", "nixpkgs": [ "stylix", "nixpkgs" @@ -267,6 +274,28 @@ } }, "gitignore": { + "inputs": { + "nixpkgs": [ + "hyprland", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "gitignore_2": { "inputs": { "nixpkgs": [ "stylix", @@ -325,19 +354,255 @@ "type": "github" } }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1742215578, + "narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739049071, + "narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, + "hyprgrass": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprgrass", + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742051449, + "narHash": "sha256-is29ny+x0P1rIEiNUNarqzavFdmvLs+rslxihGycklE=", + "owner": "horriblename", + "repo": "hyprgrass", + "rev": "5453be107e8c7b88f6274122d064bf602852745f", + "type": "github" + }, + "original": { + "owner": "horriblename", + "repo": "hyprgrass", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", + "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": [ + "nixpkgs" + ], + "pre-commit-hooks": "pre-commit-hooks", + "systems": "systems_2", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1742223160, + "narHash": "sha256-lExsJAtqhTITVBRuRoWklddFekm5CO+nrS2sxG4rsIA=", + "ref": "refs/heads/main", + "rev": "011d7ccb91081ff99f184564ea38d1b9e543a99c", + "revCount": 5899, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + }, + "original": { + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1738422629, + "narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprland-qt-support": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprland-qtutils", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "hyprland-qtutils", + "nixpkgs" + ], + "systems": [ + "hyprland", + "hyprland-qtutils", + "systems" + ] + }, + "locked": { + "lastModified": 1737634706, + "narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=", + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "rev": "8810df502cdee755993cb803eba7b23f189db795", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qt-support", + "type": "github" + } + }, + "hyprland-qtutils": { + "inputs": { + "hyprland-qt-support": "hyprland-qt-support", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprland-qtutils", + "hyprlang", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739048983, + "narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741191527, + "narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "72df3861f1197e41b078faa3e38eedd60e00018d", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, "hyprpanel": { "inputs": { - "ags": "ags_2", + "ags": "ags", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1740863579, - "narHash": "sha256-U4amsszfgPUTAa9FrIlYsCCpmAyko22h/nbjhmAZvAs=", + "lastModified": 1742192123, + "narHash": "sha256-ExYS1EqCY7tpUXkvqw+2JGTqDPyowBMaYmS1Yq5yLdw=", "owner": "jas-singhfsu", "repo": "hyprpanel", - "rev": "2be9f1ef6c2df2ecf0eebe5a039e8029d8d151cd", + "rev": "14b17c066742565178b4c12076a68bc6a1955f9f", "type": "github" }, "original": { @@ -346,6 +611,56 @@ "type": "github" } }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741534688, + "narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1739870480, + "narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1737831083, @@ -363,11 +678,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741865919, - "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", + "lastModified": 1742169275, + "narHash": "sha256-nkH2Edu9rClcsQp2PYBe8E6fp8LDPi2uDBQ6wyMdeXI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", + "rev": "5d9b5431f967007b3952c057fc92af49a4c5f3b2", "type": "github" }, "original": { @@ -416,20 +731,72 @@ "type": "github" } }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat", + "gitignore": "gitignore", + "nixpkgs": [ + "hyprland", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742058297, + "narHash": "sha256-b4SZc6TkKw8WQQssbN5O2DaCEzmFfvSTPYHlx/SFW9Y=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "59f17850021620cd348ad2e9c0c64f4e6325ce2a", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, "root": { "inputs": { - "ags": "ags", "flake-utils": "flake-utils", "home-manager": "home-manager", + "hyprgrass": "hyprgrass", + "hyprland": "hyprland", "hyprpanel": "hyprpanel", "impermanence": "impermanence", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable", + "rose-pine-hyprcursor": "rose-pine-hyprcursor", "sops-nix": "sops-nix", "stylix": "stylix", "zen-browser": "zen-browser" } }, + "rose-pine-hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "nixpkgs" + ], + "utils": [ + "flake-utils" + ] + }, + "locked": { + "lastModified": 1740132177, + "narHash": "sha256-gNc20APKMefFdH5RONBuHhOps14aiMdgIT0I6RaSN64=", + "owner": "ndom91", + "repo": "rose-pine-hyprcursor", + "rev": "568067f35a85932192bd43ddf64fc05eff850f9f", + "type": "github" + }, + "original": { + "owner": "ndom91", + "repo": "rose-pine-hyprcursor", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -437,11 +804,11 @@ ] }, "locked": { - "lastModified": 1741861888, - "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", + "lastModified": 1742209060, + "narHash": "sha256-47/1bOPBGhmAegF06nxLN15d/MClCAkk8s/+WOhJJAM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", + "rev": "b33837ae3cfa012b65810891bebbee71fa4c0658", "type": "github" }, "original": { @@ -457,7 +824,7 @@ "base16-helix": "base16-helix", "base16-vim": "base16-vim", "firefox-gnome-theme": "firefox-gnome-theme", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-utils": [ "flake-utils" ], @@ -470,7 +837,7 @@ "nixpkgs" ], "nur": "nur", - "systems": "systems_2", + "systems": "systems_3", "tinted-foot": "tinted-foot", "tinted-kitty": "tinted-kitty", "tinted-schemes": "tinted-schemes", @@ -478,11 +845,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1741951718, - "narHash": "sha256-5MfCjwlU6TXlrr8Nkg1TK+gExVPz8/aU8ofbidK2Nlc=", + "lastModified": 1742040559, + "narHash": "sha256-Hb3aw00C1/5ORiTCASwMd8vcLAl/GNJfyjXZyl/EKpc=", "owner": "danth", "repo": "stylix", - "rev": "08e0c91d76e05a61ffe15bcd17ef7fa3160c5bd8", + "rev": "bcc674f1994396137438bac9d905971453d33b12", "type": "github" }, "original": { @@ -507,6 +874,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -625,6 +1007,47 @@ "type": "github" } }, + "xdph": { + "inputs": { + "hyprland-protocols": [ + "hyprland", + "hyprland-protocols" + ], + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1741934139, + "narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + }, "zen-browser": { "inputs": { "nixpkgs": [ @@ -633,11 +1056,11 @@ "zen-browser-flake": "zen-browser-flake" }, "locked": { - "lastModified": 1741737308, - "narHash": "sha256-nC1xqLjDhFFO/wWxXAjtHYOaURPOgTH98G0NLLgwx4U=", + "lastModified": 1742100367, + "narHash": "sha256-Da9QJCWTtcuTNvkL545wT0Kr+DFI8VmKidxwUemVe0E=", "owner": "LunaCOLON3", "repo": "zen-browser-nix", - "rev": "76eef7b7b307e54ba75fb7b7ebb272884c08423a", + "rev": "78174724e79e53f753cb5c7a35eb2535912afabc", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 22702f48..5d28644f 100644 --- a/flake.nix +++ b/flake.nix @@ -28,13 +28,14 @@ }; }; - ags = { - url = "github:aylur/ags"; + hyprland = { + url = "git+https://github.com/hyprwm/Hyprland"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.astal = { - url = "github:aylur/astal"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + }; + + hyprgrass = { + url = "github:horriblename/hyprgrass"; + inputs.hyprland.follows = "hyprland"; }; hyprpanel = { @@ -42,56 +43,74 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + rose-pine-hyprcursor = { + url = "github:ndom91/rose-pine-hyprcursor"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.utils.follows = "flake-utils"; + inputs.hyprlang.follows = "hyprland/hyprlang"; + }; + zen-browser = { url = "github:LunaCOLON3/zen-browser-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { - self, - nixpkgs, - home-manager, - ... - } @ inputs: let - inherit (nixpkgs) lib; + outputs = + { + self, + nixpkgs, + home-manager, + ... + }@inputs: + let + inherit (nixpkgs) lib; - systemFromHardwareConf = hostname: let - hardware = import ./hosts/${hostname}/hardware-configuration.nix; - args = builtins.functionArgs hardware // {lib.mkDefault = lib.id;}; + systemFromHardwareConf = + hostname: + let + hardware = import ./hosts/${hostname}/hardware-configuration.nix; + args = builtins.functionArgs hardware // { + lib.mkDefault = lib.id; + }; + in + (hardware args).nixpkgs.hostPlatform; + + importNixpkgs = + system: nixpkgs: + let + config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; + in + import nixpkgs { inherit system config; }; + + makeHost = + host: system: + lib.nixosSystem { + system = system; + pkgs = importNixpkgs system nixpkgs; + specialArgs = inputs // { + inherit system; + }; + modules = [ + ./hosts/${host}/default.nix + ./hosts/${host}/hardware-configuration.nix + ./system + { networking.hostName = host; } + + ./home + ]; + }; in - (hardware args).nixpkgs.hostPlatform; - - importNixpkgs = system: nixpkgs: let - config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed; - in - import nixpkgs {inherit system config;}; - - makeHost = host: system: - lib.nixosSystem { - system = system; - pkgs = importNixpkgs system nixpkgs; - specialArgs = inputs // {inherit system;}; - modules = [ - ./hosts/${host}/default.nix - ./hosts/${host}/hardware-configuration.nix - ./system - {networking.hostName = host;} - - ./home - ]; - }; - in { - nixosConfigurations = lib.pipe ./hosts [ - builtins.readDir - (lib.filterAttrs (_: type: type == "directory")) - (lib.filterAttrs ( - name: _: + { + nixosConfigurations = lib.pipe ./hosts [ + builtins.readDir + (lib.filterAttrs (_: type: type == "directory")) + (lib.filterAttrs ( + name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware-configuration.nix - )) - (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) - ]; - }; + )) + (builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name))) + ]; + }; } diff --git a/home/lilith/default.nix b/home/lilith/default.nix index 20bd8f0a..46a40815 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,4 +1,5 @@ -{sops-nix, ...}: { +{ sops-nix, ... }: +{ imports = [ sops-nix.homeManagerModules.sops @@ -26,7 +27,7 @@ ./sops.nix ./ssh.nix ./stylix.nix - # ./thunderbird.nix + ./thunderbird.nix ./zsh ]; } diff --git a/home/lilith/hyprpanel.nix b/home/lilith/hyprpanel.nix index 5d63f54a..a90d8399 100644 --- a/home/lilith/hyprpanel.nix +++ b/home/lilith/hyprpanel.nix @@ -1,4 +1,5 @@ -{hyprpanel, ...}: { +{ hyprpanel, ... }: +{ imports = [ hyprpanel.homeManagerModules.hyprpanel ]; programs.hyprpanel = { diff --git a/hosts/lilith-pad/default.nix b/hosts/lilith-pad/default.nix index 1e15a301..4be6ba77 100644 --- a/hosts/lilith-pad/default.nix +++ b/hosts/lilith-pad/default.nix @@ -1,6 +1,8 @@ -{lib, ...}: let +{ lib, ... }: +let mkHostOverride = lib.mkOverride 75; -in { +in +{ system.stateVersion = "24.11"; desktop.enable = true; @@ -11,7 +13,7 @@ in { home-manager.users."lilith".wayland.windowManager.hyprland.settings = { monitor = mkHostOverride [ "eDP-1, 1920x1080, 0x0, 1" - ", perferred, auto, 1" + ", preferred, auto, 1" ]; }; } diff --git a/hosts/lilith-pad/hardware-configuration.nix b/hosts/lilith-pad/hardware-configuration.nix index 5df571e2..29b82666 100644 --- a/hosts/lilith-pad/hardware-configuration.nix +++ b/hosts/lilith-pad/hardware-configuration.nix @@ -5,8 +5,7 @@ { imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ]; boot.initrd.kernelModules = [ ]; @@ -14,16 +13,54 @@ boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/080fa116-424e-4079-a2a6-658a230e2721"; - fsType = "ext4"; + { device = "tmpfs"; + fsType = "tmpfs"; + options = [ + "defaults" + "size=100%" + "mode=755" + ]; }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/40E8-A12D"; + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3DFB-F4BF"; fsType = "vfat"; + options = [ "umask=0077" ]; }; - swapDevices = [ ]; + fileSystems."/persist/data" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@data" "noatime" "compress=zstd" ]; + }; + + fileSystems."/persist/cache" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@cache" "noatime" "compress=zstd" ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + neededForBoot = true; + options = [ "subvol=@nix" "noatime" "compress=zstd" ]; + }; + + fileSystems."/swap" = + { device = "/dev/disk/by-uuid/41e9461b-557d-4f2f-a255-534205e58d13"; + fsType = "btrfs"; + options = [ "subvol=@swap" "noatime" ]; + }; + + swapDevices = [ + { + device = "/swap/swapfile"; + priority = 0; + } + ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/system/core/syncthing.nix b/system/core/syncthing.nix index bb066946..de736162 100644 --- a/system/core/syncthing.nix +++ b/system/core/syncthing.nix @@ -1,6 +1,8 @@ -{ config, sops, ...}: let - host = config.networking.hostName; - in { +{ config, ... }: +let + host = config.networking.hostName; +in +{ sops.secrets."syncthing/key.pem" = { sopsFile = ../../hosts/${host}/secrets/default.yaml; @@ -19,25 +21,44 @@ overrideDevices = true; overrideFolders = true; - settings = { - key = config.sops.secrets."syncthing/key.pem".path; - cert = config.sops.secrets."syncthing/cert.pem".path; + key = config.sops.secrets."syncthing/key.pem".path; + cert = config.sops.secrets."syncthing/cert.pem".path; + settings = { devices = { - "phone" = {id = "C2CKYRP-72UNJRX-MUPZIUY-CCHQYGF-6T4NA6B-MO7AEZB-RSN5EAG-CN2JCAF";}; - "nixserver" = {id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ";}; - "lilith-pc" = {id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY";}; - "lilith-pad" = {id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK";}; - "lilith-old" = {id = "MSUZJ6K-4CIFE5D-ILO6FE4-SPRPTZI-VEWZQ7F-ECARCCF-2VLVMDQ-2HQUAAS";}; + "lilith-phone" = { + id = "N3VHPZJ-DARZYPM-TIBLRAZ-KN6QWYJ-VU6FP2N-INYVJZ3-ZSUD63P-NSXLIQ6"; + }; + "lilith-lab" = { + id = "DW6GTZ3-3JPAHLO-UEB3LBL-AWOX3BT-QPI7ODT-OZ6Q4YR-K3KK22C-5RY3XQZ"; + }; + "lilith-pc" = { + id = "37HHP4Q-NNQRQPQ-MVSIHAX-BK2A3GL-O6K4WXA-Y7ZQ5GZ-BY4UTFH-LG4HYAY"; + }; + "lilith-pad" = { + id = "GQJA6WA-G5YZZSN-4OOQMVE-JPIR22N-VFHPY4O-XMRG37D-DALH4R2-7DCTMQK"; + }; }; folders = { - "rdcj2-mfyb4" = { + "sync" = { + id = "rdcj2-mfyb4"; path = "/home/lilith/sync"; - devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"]; + devices = [ + "lilith-phone" + "lilith-lab" + "lilith-pad" + "lilith-pc" + ]; }; - "sdpfs-2beqd" = { + "keepass" = { + id = "sdpfs-2beqd"; path = "/home/lilith/.keepass"; - devices = ["phone" "nixserver" "lilith-pad" "lilith-pc" "lilith-old"]; + devices = [ + "lilith-phone" + "lilith-lab" + "lilith-pad" + "lilith-pc" + ]; }; }; }; diff --git a/system/optional/stylix.nix b/system/optional/stylix.nix index cf2ac637..43a9e157 100644 --- a/system/optional/stylix.nix +++ b/system/optional/stylix.nix @@ -1,4 +1,11 @@ -{pkgs, stylix, config, lib, ...}: { +{ + pkgs, + stylix, + config, + lib, + ... +}: +{ imports = [ stylix.nixosModules.stylix ]; options.auto_styling.enable = lib.mkEnableOption "Enable Stylix"; @@ -16,6 +23,16 @@ }; fonts = { + serif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Serif"; + }; + + sansSerif = { + package = pkgs.dejavu_fonts; + name = "DejaVu Sans"; + }; + monospace = { package = pkgs.nerd-fonts.jetbrains-mono; name = "JetBrainsMono Nerd Font"; @@ -26,7 +43,12 @@ name = "Twemoji"; }; - sizes = { applications = 14; desktop = 12; popups = 12; terminal = 14; }; + sizes = { + applications = 14; + desktop = 12; + popups = 12; + terminal = 14; + }; }; cursor = {