My Nix Configuration

meta: format and update flake.nix

Changed files
+170 -199
+41 -75
flake.lock
···
"type": "gitlab"
}
},
-
"colmena": {
"inputs": {
"flake-compat": "flake-compat",
-
"flake-utils": "flake-utils",
-
"nixpkgs": "nixpkgs",
-
"stable": "stable"
-
},
-
"locked": {
-
"lastModified": 1675730932,
-
"narHash": "sha256-XcmirehPIcZGS7PzkS3WvAYQ9GBlBvCxYToIOIV2PVE=",
-
"owner": "zhaofengli",
-
"repo": "colmena",
-
"rev": "e034c15825c439131e4489de5a82cf8e5398fa61",
-
"type": "github"
-
},
-
"original": {
-
"owner": "zhaofengli",
-
"repo": "colmena",
-
"type": "github"
-
}
-
},
-
"crane": {
-
"inputs": {
-
"flake-compat": "flake-compat_2",
"flake-utils": [
"lanzaboote",
"flake-utils"
···
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
···
"flake-compat": {
"flake": false,
"locked": {
-
"lastModified": 1650374568,
-
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
"owner": "edolstra",
"repo": "flake-compat",
-
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
"type": "github"
},
"original": {
···
"flake-compat_5": {
"flake": false,
"locked": {
-
"lastModified": 1668681692,
-
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
-
"owner": "edolstra",
-
"repo": "flake-compat",
-
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
"type": "github"
},
"original": {
···
}
},
"flake-compat_7": {
-
"flake": false,
-
"locked": {
-
"lastModified": 1673956053,
-
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
-
"owner": "edolstra",
-
"repo": "flake-compat",
-
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
-
"type": "github"
-
},
-
"original": {
-
"owner": "edolstra",
-
"repo": "flake-compat",
-
"type": "github"
-
}
-
},
-
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1673956053,
···
},
"flake-utils": {
"locked": {
-
"lastModified": 1659877975,
-
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
-
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
···
"lanzaboote": {
"inputs": {
"crane": "crane",
-
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_5",
···
"mailserver": {
"inputs": {
"blobs": "blobs",
-
"flake-compat": "flake-compat_5",
"nixpkgs": "nixpkgs_6",
"nixpkgs-22_11": "nixpkgs-22_11",
"utils": "utils_2"
···
},
"neovim": {
"inputs": {
-
"flake-compat": "flake-compat_6",
"neovim-flake": "neovim-flake",
"nixpkgs": "nixpkgs_7"
},
···
},
"nixpkgs": {
"locked": {
-
"lastModified": 1674641431,
-
"narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=",
"owner": "NixOS",
"repo": "nixpkgs",
-
"rev": "9b97ad7b4330aacda9b2343396eb3df8a853b4fc",
"type": "github"
},
"original": {
···
},
"pre-commit-hooks-nix": {
"inputs": {
-
"flake-compat": "flake-compat_4",
"flake-utils": [
"lanzaboote",
"flake-utils"
···
"inputs": {
"agenix": "agenix",
"alejandra": "alejandra",
-
"colmena": "colmena",
"dns": "dns",
"emacs": "emacs",
"espanso-nixpkgs": "espanso-nixpkgs",
···
"type": "github"
}
},
-
"stable": {
-
"locked": {
-
"lastModified": 1669735802,
-
"narHash": "sha256-qtG/o/i5ZWZLmXw108N2aPiVsxOcidpHJYNkT45ry9Q=",
-
"owner": "NixOS",
-
"repo": "nixpkgs",
-
"rev": "731cc710aeebecbf45a258e977e8b68350549522",
-
"type": "github"
-
},
-
"original": {
-
"owner": "NixOS",
-
"ref": "nixos-22.11",
-
"repo": "nixpkgs",
-
"type": "github"
-
}
-
},
"tclip": {
"inputs": {
"gomod2nix": "gomod2nix",
···
},
"vscode-extensions": {
"inputs": {
-
"flake-compat": "flake-compat_7",
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_11"
},
···
},
"wayland": {
"inputs": {
-
"flake-compat": "flake-compat_8",
"lib-aggregate": "lib-aggregate",
"nix-eval-jobs": "nix-eval-jobs",
"nixpkgs": "nixpkgs_13"
···
"type": "gitlab"
}
},
+
"crane": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": [
"lanzaboote",
"flake-utils"
···
"type": "github"
}
},
+
"ctp-toolbox": {
+
"inputs": {
+
"flake-utils": "flake-utils",
+
"nixpkgs": "nixpkgs"
+
},
+
"locked": {
+
"lastModified": 1677091100,
+
"narHash": "sha256-S2WEARJT59r+TFztqkQKw6PWBs9bYmfk2PhM0ANa5Tg=",
+
"owner": "catppuccin",
+
"repo": "toolbox",
+
"rev": "a1f7de818a1bad82e21ff5119998c76f09cdcc6d",
+
"type": "github"
+
},
+
"original": {
+
"owner": "catppuccin",
+
"repo": "toolbox",
+
"type": "github"
+
}
+
},
"darwin": {
"inputs": {
"nixpkgs": [
···
"flake-compat": {
"flake": false,
"locked": {
+
"lastModified": 1668681692,
+
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=",
"owner": "edolstra",
"repo": "flake-compat",
+
"rev": "009399224d5e398d03b22badca40a37ac85412a1",
"type": "github"
},
"original": {
···
"flake-compat_5": {
"flake": false,
"locked": {
+
"lastModified": 1673956053,
+
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+
"owner": "edolstra",
+
"repo": "flake-compat",
+
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
···
}
},
"flake-compat_7": {
"flake": false,
"locked": {
"lastModified": 1673956053,
···
},
"flake-utils": {
"locked": {
+
"lastModified": 1667395993,
+
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
+
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
···
"lanzaboote": {
"inputs": {
"crane": "crane",
+
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_5",
···
"mailserver": {
"inputs": {
"blobs": "blobs",
+
"flake-compat": "flake-compat_4",
"nixpkgs": "nixpkgs_6",
"nixpkgs-22_11": "nixpkgs-22_11",
"utils": "utils_2"
···
},
"neovim": {
"inputs": {
+
"flake-compat": "flake-compat_5",
"neovim-flake": "neovim-flake",
"nixpkgs": "nixpkgs_7"
},
···
},
"nixpkgs": {
"locked": {
+
"lastModified": 1673631141,
+
"narHash": "sha256-AprpYQ5JvLS4wQG/ghm2UriZ9QZXvAwh1HlgA/6ZEVQ=",
"owner": "NixOS",
"repo": "nixpkgs",
+
"rev": "befc83905c965adfd33e5cae49acb0351f6e0404",
"type": "github"
},
"original": {
···
},
"pre-commit-hooks-nix": {
"inputs": {
+
"flake-compat": "flake-compat_3",
"flake-utils": [
"lanzaboote",
"flake-utils"
···
"inputs": {
"agenix": "agenix",
"alejandra": "alejandra",
+
"ctp-toolbox": "ctp-toolbox",
"dns": "dns",
"emacs": "emacs",
"espanso-nixpkgs": "espanso-nixpkgs",
···
"type": "github"
}
},
"tclip": {
"inputs": {
"gomod2nix": "gomod2nix",
···
},
"vscode-extensions": {
"inputs": {
+
"flake-compat": "flake-compat_6",
"flake-utils": "flake-utils_7",
"nixpkgs": "nixpkgs_11"
},
···
},
"wayland": {
"inputs": {
+
"flake-compat": "flake-compat_7",
"lib-aggregate": "lib-aggregate",
"nix-eval-jobs": "nix-eval-jobs",
"nixpkgs": "nixpkgs_13"
+129 -124
flake.nix
···
wayland.url = "github:nix-community/nixpkgs-wayland";
};
-
outputs = inputs @ {
-
self,
-
nixpkgs,
-
nixos-unstable,
-
espanso-nixpkgs,
-
agenix,
-
alejandra,
-
ctp-toolbox,
-
dns,
-
emacs,
-
golink,
-
home-manager,
-
hyprland,
-
lanzaboote,
-
mailserver,
-
neovim,
-
nixpkgs-update,
-
nur,
-
tclip,
-
vscode-extensions,
-
wayland,
-
}: let
-
alejandra-overlay = final: prev: {alejandra = alejandra.defaultPackage.${prev.system};};
-
nixpkgs-update-overlay = final: prev: {nixpkgs-update = nixpkgs-update.defaultPackage.${prev.system};};
-
my-pkgs = final: prev: {my-pkgs = self.packages."${prev.system}";};
-
system = "x86_64-linux";
-
overlays = [
-
(import ./overlays/treesitter.nix)
-
(import ./overlays/sumneko.nix)
-
my-pkgs
-
alejandra-overlay
-
emacs.overlay
-
golink.overlay
-
lanzaboote.overlays.default
-
neovim.overlay
-
nixpkgs-update-overlay
-
nur.overlay
-
wayland.overlays.default
-
];
-
pkgs = import nixpkgs {
-
inherit overlays;
-
localSystem = "x86_64-linux";
-
config = {
-
allowUnfree = true;
-
input-fonts.acceptLicense = true;
-
joypixels.acceptLicense = true;
-
permittedInsecurePackages = [ "electron-19.0.7" ];
};
-
};
-
lib = nixpkgs.lib;
-
mkUser = {
-
username ? "pyrox",
-
profile ? "desktop",
-
}: {
-
home-manager.users.${username} = import ./home/profiles/${profile}.nix;
-
users.users.${username}.isNormalUser = true;
-
};
-
mkHost = {
-
hostname,
-
system ? "x86_64-linux",
-
profile ? "server",
-
hmProfile ? "desktop",
-
coreCount,
-
extraModules ? [],
-
extraHMModules ? [],
-
}: lib.nixosSystem {
-
inherit system;
-
modules = [
-
./hosts/${hostname}/configuration.nix
-
./hosts/${hostname}/bootloader.nix
-
inputs.home-manager.nixosModules.home-manager
-
{
-
home-manager.useGlobalPkgs = true;
-
home-manager.useUserPackages = true;
-
home-manager.extraSpecialArgs = {inherit pkgs system inputs;};
-
home-manager.sharedModules = [] ++ extraHMModules;
-
}
-
( mkUser { inherit profile; username = "pyrox";})
-
( mkUser { inherit profile; username = "thehedgehog";})
-
inputs.agenix.nixosModules.default
-
] ++ extraModules;
-
specialArgs = {inherit self inputs pkgs;};
};
-
in {
-
packages.${system} = {
-
"caddy" = pkgs.callPackage ./pkgs/caddyBin.nix {};
-
"catppuccin-bat" = pkgs.callPackage ./pkgs/catppuccin-bat.nix {};
-
"catppuccin-btop" = pkgs.callPackage ./pkgs/catppuccin-btop.nix {};
-
"catppuccin-theme" = pkgs.callPackage ./pkgs/catppuccin-theme.nix {};
-
"cinny" = pkgs.callPackage ./pkgs/cinny.nix {};
-
"go-jamming" = pkgs.callPackage ./pkgs/go-jamming.nix {};
-
"nerdfont-symbols" = pkgs.callPackage ./pkgs/nerdfont-symbols.nix {};
-
"olympus" = pkgs.callPackage ./pkgs/olympus.nix {};
-
"pywalfox" = pkgs.callPackage ./pkgs/pywalfox.nix {};
-
"radicale-htpasswd" = pkgs.callPackage ./pkgs/radicale-htpasswd.nix {};
-
};
-
nixosConfigurations.marvin = mkHost {
-
hostname = "marvin";
-
coreCount = 12;
-
extraModules = [
-
agenix.nixosModules.default
-
golink.nixosModules.default
-
tclip.nixosModules.default
-
];
-
};
-
nixosConfigurations.prefect = mkHost {
-
hostname = "prefect";
-
coreCount = 4;
-
extraModules = [
-
agenix.nixosModules.default
-
mailserver.nixosModule
-
./modules/dn42-pingfinder.nix
-
];
-
};
-
nixosConfigurations.zaphod = mkHost {
-
hostname = "zaphod";
-
profile = "desktop";
-
coreCount = 8;
-
extraModules = [
-
hyprland.nixosModules.default
-
];
-
extraHMModules = [
-
hyprland.homeManagerModules.default
-
];
};
-
-
};
}
···
wayland.url = "github:nix-community/nixpkgs-wayland";
};
+
outputs =
+
inputs @ { self
+
, nixpkgs
+
, nixos-unstable
+
, espanso-nixpkgs
+
, agenix
+
, alejandra
+
, ctp-toolbox
+
, dns
+
, emacs
+
, golink
+
, home-manager
+
, hyprland
+
, lanzaboote
+
, mailserver
+
, neovim
+
, nixpkgs-update
+
, nur
+
, tclip
+
, vscode-extensions
+
, wayland
+
,
+
}:
+
let
+
alejandra-overlay = final: prev: { alejandra = alejandra.defaultPackage.${prev.system}; };
+
nixpkgs-update-overlay = final: prev: { nixpkgs-update = nixpkgs-update.defaultPackage.${prev.system}; };
+
my-pkgs = final: prev: { my-pkgs = self.packages."${prev.system}"; };
+
system = "x86_64-linux";
+
overlays = [
+
(import ./overlays/treesitter.nix)
+
(import ./overlays/sumneko.nix)
+
my-pkgs
+
alejandra-overlay
+
emacs.overlay
+
golink.overlay
+
lanzaboote.overlays.default
+
neovim.overlay
+
nixpkgs-update-overlay
+
nur.overlay
+
wayland.overlays.default
+
];
+
pkgs = import nixpkgs {
+
inherit overlays;
+
localSystem = "x86_64-linux";
+
config = {
+
allowUnfree = true;
+
input-fonts.acceptLicense = true;
+
joypixels.acceptLicense = true;
+
permittedInsecurePackages = [ "electron-19.0.7" ];
+
};
};
+
lib = nixpkgs.lib;
+
mkUser =
+
{ username ? "pyrox"
+
, profile ? "desktop"
+
,
+
}: {
+
home-manager.users.${username} = import ./home/profiles/${profile}.nix;
+
users.users.${username}.isNormalUser = true;
+
};
+
+
mkHost =
+
{ hostname
+
, system ? "x86_64-linux"
+
, profile ? "server"
+
, hmProfile ? "desktop"
+
, coreCount
+
, extraModules ? [ ]
+
, extraHMModules ? [ ]
+
,
+
}: lib.nixosSystem {
+
inherit system;
+
modules = [
+
./hosts/${hostname}/configuration.nix
+
./hosts/${hostname}/bootloader.nix
+
inputs.home-manager.nixosModules.home-manager
+
{
+
home-manager.useGlobalPkgs = true;
+
home-manager.useUserPackages = true;
+
home-manager.extraSpecialArgs = { inherit pkgs system inputs; };
+
home-manager.sharedModules = [ ] ++ extraHMModules;
+
}
+
(mkUser { inherit profile; username = "pyrox"; })
+
(mkUser { inherit profile; username = "thehedgehog"; })
+
inputs.agenix.nixosModules.default
+
] ++ extraModules;
+
specialArgs = { inherit self inputs pkgs; };
+
};
+
in
+
{
+
packages.${system} = {
+
"caddy" = pkgs.callPackage ./pkgs/caddyBin.nix { };
+
"catppuccin-bat" = pkgs.callPackage ./pkgs/catppuccin-bat.nix { };
+
"catppuccin-btop" = pkgs.callPackage ./pkgs/catppuccin-btop.nix { };
+
"catppuccin-theme" = pkgs.callPackage ./pkgs/catppuccin-theme.nix { };
+
"cinny" = pkgs.callPackage ./pkgs/cinny.nix { };
+
"go-jamming" = pkgs.callPackage ./pkgs/go-jamming.nix { };
+
"nerdfont-symbols" = pkgs.callPackage ./pkgs/nerdfont-symbols.nix { };
+
"olympus" = pkgs.callPackage ./pkgs/olympus.nix { };
+
"pywalfox" = pkgs.callPackage ./pkgs/pywalfox.nix { };
+
"radicale-htpasswd" = pkgs.callPackage ./pkgs/radicale-htpasswd.nix { };
+
};
+
nixosConfigurations.marvin = mkHost {
+
hostname = "marvin";
+
coreCount = 12;
+
extraModules = [
+
agenix.nixosModules.default
+
golink.nixosModules.default
+
tclip.nixosModules.default
+
];
};
+
nixosConfigurations.prefect = mkHost {
+
hostname = "prefect";
+
coreCount = 4;
+
extraModules = [
+
agenix.nixosModules.default
+
mailserver.nixosModule
+
./modules/dn42-pingfinder.nix
+
];
+
};
+
nixosConfigurations.zaphod = mkHost {
+
hostname = "zaphod";
+
profile = "desktop";
+
coreCount = 8;
+
extraModules = [
+
hyprland.nixosModules.default
+
];
+
extraHMModules = [
+
hyprland.homeManagerModules.default
+
];
+
};
};
}