From 70d0060df5ac9ce97644a56d9e7ffd1b4365568b Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Mon, 29 Aug 2022 17:07:02 +0200 Subject: [PATCH] Cleanup flake --- flake.lock | 52 ++++++------- flake.nix | 180 ++++++++++++++++++------------------------- hm_modules/picom.nix | 10 ++- 3 files changed, 112 insertions(+), 130 deletions(-) diff --git a/flake.lock b/flake.lock index 6949cd0..afdcc66 100644 --- a/flake.lock +++ b/flake.lock @@ -36,19 +36,19 @@ "type": "github" } }, - "home-manager-unstable": { + "home-manager-u": { "inputs": { "nixpkgs": [ - "unstable" + "nixpkgs-u" ], "utils": "utils" }, "locked": { - "lastModified": 1661284925, - "narHash": "sha256-DKxOkYrhbdBt2t+C3rpJrEBsM6A63jP92TM+XnUKyho=", + "lastModified": 1661573386, + "narHash": "sha256-pBEg8iY00Af/SAtU2dlmOAv+2x7kScaGlFRDjNoVJO8=", "owner": "nix-community", "repo": "home-manager", - "rev": "353d21e108790a4823c9fae9812dc953e8994399", + "rev": "d89bdff445eadff03fe414e9c30486bc8166b72b", "type": "github" }, "original": { @@ -110,6 +110,22 @@ "type": "github" } }, + "nixpkgs-u": { + "locked": { + "lastModified": 1661628722, + "narHash": "sha256-oR/7NhG7pPkACToUtaaT6hH+rONE2z5/4NzjoUwEZt8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "324c8aaf25b2f2027af7798e5582ce3040a793b6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1661309001, @@ -157,7 +173,7 @@ "flake-utils" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-u" ] }, "locked": { @@ -178,13 +194,13 @@ "inputs": { "flake-utils": "flake-utils", "home-manager": "home-manager", - "home-manager-unstable": "home-manager-unstable", + "home-manager-u": "home-manager-u", "nix-rice": "nix-rice", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", + "nixpkgs-u": "nixpkgs-u", "pre-commit-hooks": "pre-commit-hooks_2", - "tex2nix": "tex2nix", - "unstable": "unstable" + "tex2nix": "tex2nix" } }, "tex2nix": { @@ -193,7 +209,7 @@ "flake-utils" ], "nixpkgs": [ - "nixpkgs" + "nixpkgs-u" ] }, "locked": { @@ -210,22 +226,6 @@ "type": "github" } }, - "unstable": { - "locked": { - "lastModified": 1661239211, - "narHash": "sha256-pNJzBlSNpWEiFJZnLF2oETYq8cGWx1DJPW33aMtG6n8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "5e804cd8a27f835a402b22e086e36e797716ef8b", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "utils": { "locked": { "lastModified": 1653893745, diff --git a/flake.nix b/flake.nix index 0cb12fb..b67723f 100644 --- a/flake.nix +++ b/flake.nix @@ -5,23 +5,23 @@ nixpkgs.url = "github:NixOS/nixpkgs/release-22.05"; home-manager = { url = "github:nix-community/home-manager/release-22.05"; inputs.nixpkgs.follows = "nixpkgs"; }; - unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; - home-manager-unstable = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "unstable"; }; + nixpkgs-u.url = "github:NixOS/nixpkgs/nixos-unstable"; + home-manager-u = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs-u"; }; flake-utils.url = "github:numtide/flake-utils"; nixos-hardware.url = "github:NixOS/nixos-hardware"; - nix-rice = { url = "github:bertof/nix-rice"; inputs.inxpkgs.follows = "unstable"; inputs.flake-utils.follows = "flake-utils"; }; - pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; - tex2nix = { url = github:Mic92/tex2nix; inputs.nixpkgs.follows = "nixpkgs"; inputs.flake-utils.follows = "flake-utils"; }; + nix-rice = { url = "github:bertof/nix-rice"; inputs = { inxpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; }; + pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs = { nixpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; }; + tex2nix = { url = "github:Mic92/tex2nix"; inputs = { nixpkgs.follows = "nixpkgs-u"; flake-utils.follows = "flake-utils"; }; }; }; outputs = { self , nixpkgs , home-manager - , unstable - , home-manager-unstable + , nixpkgs-u + , home-manager-u , flake-utils , nixos-hardware , tex2nix @@ -29,146 +29,120 @@ , pre-commit-hooks }: let - system = "x86_64-linux"; overlaysBuilder = system: [ + (_: _: { inherit (tex2nix.packages.${system}) tex2nix; stable = pkgs { inherit system; }; unstable = pkgs-u { inherit system; }; }) (nix-rice.overlays.default) (import ./rice.nix) - (_: _: { inherit (tex2nix.packages.${system}) tex2nix; }) (final: _: { update-background = final.callPackage ./custom/update-background { backgrounds_directory = "$HOME/Immagini/Sfondi/1080+/1440+"; }; lockscreen = final.callPackage ./custom/lockscreen { palette = final.rice.colorPalette; font = final.rice.font.normal; }; sddm-theme-clairvoyance = final.callPackage ./custom/sddm-theme-clairvoyance { wallpaper = ./wallpapers/comfy_waves.jpg; }; }) - (_: _: { stable = pkgs; }) - (_: _: { unstable = unstablePkgs; }) ]; - nixpkgsSettings = { - inherit system; - overlays = overlaysBuilder system; - config = { - extraOptions = "experimental-features = nix-command flakes"; - allowUnfree = true; - permittedInsecurePackages = [ "electron-9.4.4" ]; # authy dependency - }; + defaultConfig = { + extraOptions = "experimental-features = nix-command flakes"; + allowUnfree = true; + permittedInsecurePackages = [ "electron-9.4.4" ]; # authy dependency }; - pkgs = import nixpkgs nixpkgsSettings; - unstablePkgs = import unstable nixpkgsSettings; + nixpkgsSettings = { system, overlays ? overlaysBuilder system, config ? defaultConfig }: { inherit system overlays config; }; + pkgs = s: import nixpkgs (nixpkgsSettings s); + pkgs-u = s: import nixpkgs-u (nixpkgsSettings s); homeManagerSettings = { home-manager = { useGlobalPkgs = true; useUserPackages = true; }; }; commonBaseModules = [ ./nixos_modules/automatic-garbage-collection.nix - # ./nixos_modules/tailscale.nix ./nixos_modules/zerotier.nix ]; + homeManagerModules = users: [ + home-manager.nixosModules.home-manager + homeManagerSettings + { home-manager.users = users; } + ]; + homeManagerUModules = users: [ + home-manager-u.nixosModules.home-manager + homeManagerSettings + { home-manager.users = users; } + ]; + odinBaseModules = [ - { nixpkgs = nixpkgsSettings; } ./odin/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-laptop nixos-hardware.nixosModules.common-pc-laptop-ssd ./odin/common_configuration.nix - ] ++ commonBaseModules; + + ./nixos_modules/pro_audio.nix + ./nixos_modules/sesar.nix + ]; + odinIntelModules = [ ./odin/configuration-intel.nix ]; + odinNvidiaModules = [ ./odin/configuration-nvidia.nix ]; + + odinIntelBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + modules = + [{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++ + commonBaseModules ++ odinBaseModules ++ odinIntelModules ++ + (homeManagerModules { bertof = import ./odin/hm.nix; }) ++ + extraModules; + }; + odinNvidiaBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + modules = + [{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++ + commonBaseModules ++ odinBaseModules ++ odinNvidiaModules ++ + (homeManagerModules { bertof = import ./odin/hm.nix; }) ++ + extraModules; + }; thorBaseModules = [ - { nixpkgs = nixpkgsSettings; } ./thor/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-amd nixos-hardware.nixosModules.common-pc-ssd ./thor/configuration.nix - ] ++ commonBaseModules; + ]; + thorBuilder = { extraModules ? [ ] }: nixpkgs-u.lib.nixosSystem rec { + system = "x86_64-linux"; + modules = + [{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++ + commonBaseModules ++ thorBaseModules ++ + (homeManagerUModules { bertof = import ./thor/hm.nix; }) ++ + extraModules; + }; lokiBaseModules = [ - { nixpkgs = nixpkgsSettings; } ./loki/hardware-configuration.nix nixos-hardware.nixosModules.common-cpu-intel nixos-hardware.nixosModules.common-pc-ssd ./loki/configuration.nix - ] ++ commonBaseModules; - - odinStable = extraModules: nixpkgs.lib.nixosSystem { - inherit system; - modules = odinBaseModules ++ [ - home-manager.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./odin/hm.nix; } - ] ++ extraModules; + ]; + lokiBuilder = { extraModules ? [ ] }: nixpkgs.lib.nixosSystem rec { + system = "x86_64-linux"; + modules = + [{ nixpkgs = nixpkgsSettings { inherit system; }; }] ++ + commonBaseModules ++ lokiBaseModules ++ + (homeManagerModules { bertof = import ./loki/hm.nix; }) ++ + extraModules; }; - - odinUnstable = extraModules: unstable.lib.nixosSystem { - inherit system; - modules = odinBaseModules ++ [ - home-manager-unstable.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./odin/hm.nix; } - ] ++ extraModules; - }; - - thorStable = extraModules: nixpkgs.lib.nixosSystem { - inherit system; - modules = thorBaseModules ++ [ - home-manager.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./thod/hm.nix; } - ] ++ extraModules; - }; - - thorUnstable = extraModules: unstable.lib.nixosSystem { - inherit system; - modules = thorBaseModules ++ [ - home-manager-unstable.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./thod/hm.nix; } - ] ++ extraModules; - }; - - lokiUnstable = extraModules: unstable.lib.nixosSystem { - inherit system; - modules = lokiBaseModules ++ [ - home-manager-unstable.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./loki/hm.nix; } - ] ++ extraModules; - }; - - lokiStable = extraModules: nixpkgs.lib.nixosSystem { - inherit system; - modules = lokiBaseModules ++ [ - home-manager.nixosModules.home-manager - homeManagerSettings - { home-manager.users.bertof = import ./loki/hm.nix; } - ] ++ extraModules; - }; - in { - packages.${system} = unstablePkgs; - nixosConfigurations = rec { - thor = thor-unstable; - thor-stable = thorStable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - thor-unstable = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - # thor-big-data = thorUnstable [ ./nixos_modules/pro_audio.nix ./nixos_modules/big_data.nix ./nixos_modules/sesar.nix ]; + thor = thorBuilder { }; odin = odin-intel; - odin-intel = odin-intel-stable; - odin-nvidia = odin-nvidia-stable; - odin-intel-unstable = odinUnstable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - odin-nvidia-unstable = odinUnstable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - odin-intel-stable = odinStable [ ./odin/configuration-intel.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; - odin-nvidia-stable = odinStable [ ./odin/configuration-nvidia.nix ./nixos_modules/pro_audio.nix ./nixos_modules/sesar.nix ]; + odin-intel = odinIntelBuilder { }; + odin-nvidia = odinNvidiaBuilder { }; - loki = loki-stable; - loki-stable = lokiStable [ ./nixos_modules/dnsmasq.nix ]; - loki-k3s = lokiStable [ ./nixos_modules/k3s.nix ]; - loki-unstable = lokiUnstable [ ]; + loki = lokiBuilder { }; + # loki-stable = lokiStable [ ./nixos_modules/dnsmasq.nix ]; + # loki-k3s = lokiStable [ ./nixos_modules/k3s.nix ]; + # loki-unstable = lokiUnstable [ ]; }; - } // (flake-utils.lib.eachDefaultSystem (system: - let unstablePkgs = import unstable { inherit system; overlays = overlaysBuilder system; }; - in - rec { + } // (flake-utils.lib.eachDefaultSystem (system: rec { + packages = pkgs-u { inherit system; }; + checks = { pre-commit-check = pre-commit-hooks.lib.${system}.run { src = ./.; @@ -176,7 +150,7 @@ }; }; - devShells.default = unstablePkgs.mkShell { + devShells.default = packages.mkShell { shellHook = '' ${self.checks.${system}.pre-commit-check.shellHook} ''; diff --git a/hm_modules/picom.nix b/hm_modules/picom.nix index 89f6265..f7e3764 100644 --- a/hm_modules/picom.nix +++ b/hm_modules/picom.nix @@ -2,11 +2,19 @@ services.picom = { enable = true; - blur = true; + # blur = true; experimentalBackends = true; fade = false; shadow = true; vSync = true; + # settings = { + # blur = + # { + # method = "gaussian"; + # size = 10; + # deviation = 7.0; + # }; + # }; extraOptions = '' blur: {