Compare commits
4 Commits
af7d280ef6
...
main
Author | SHA1 | Date | |
---|---|---|---|
2df1ef27e1 | |||
f4ff5a6251 | |||
8f8bb999a3 | |||
f11b0f9e0a |
30
.sops.yaml
30
.sops.yaml
@ -19,39 +19,39 @@ creation_rules:
|
||||
- path_regex: users/alice/secrets.*\.yaml$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *palatine-hill
|
||||
- *artemision
|
||||
- *artemision-home
|
||||
- *palatine-hill
|
||||
- *artemision
|
||||
- *artemision-home
|
||||
- path_regex: systems/palatine-hill/secrets.*\.yaml$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *palatine-hill
|
||||
- *palatine-hill
|
||||
- path_regex: systems/artemision/secrets.*\.yaml$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *artemision
|
||||
- *artemision
|
||||
- path_regex: systems/selinunte/secrets.*\.yaml$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *artemision
|
||||
- *selinunte
|
||||
- *artemision
|
||||
- *selinunte
|
||||
- path_regex: systems/palatine-hill/docker/wg/.*\.conf$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *palatine-hill
|
||||
- *palatine-hill
|
||||
- path_regex: systems/palatine-hill/docker/openvpn/.*\.ovpn$
|
||||
key_groups:
|
||||
- pgp:
|
||||
- *admin_alice
|
||||
- *admin_alice
|
||||
age:
|
||||
- *palatine-hill
|
||||
- *palatine-hill
|
||||
|
153
flake.lock
generated
153
flake.lock
generated
@ -75,11 +75,11 @@
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1751876538,
|
||||
"narHash": "sha256-y5gqf/7ZHv1Gb9Z6FEPrUarsuWV06k6+dbnlde5Ccj4=",
|
||||
"lastModified": 1751618693,
|
||||
"narHash": "sha256-bAKNekZcZd4QnBO/RUxjQAgaz67bYwFXWfQENA45Scg=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "a62575e92b85fa8abeff29d639e4cac3d42cb229",
|
||||
"rev": "0c5b037915083a27a260b063b127b31443827bae",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@ -178,21 +178,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -209,6 +194,32 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747372754,
|
||||
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -230,6 +241,28 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-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"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -254,11 +287,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751824240,
|
||||
"narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
|
||||
"lastModified": 1751638848,
|
||||
"narHash": "sha256-7HiC6w4ROEbMmKtj5pilnLOJej9HkkfU9wEd5QSTyNo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
|
||||
"rev": "7d9e3c35f0d46f82bac791d76260f15f53d83529",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -297,11 +330,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751715349,
|
||||
"narHash": "sha256-cP76ijtfGTFTpWFfmyFHA2MpDlIyKpWwW82kqQSQ6s0=",
|
||||
"lastModified": 1750372088,
|
||||
"narHash": "sha256-LPwgPRBTfnA76rHUr7KYvwq2pNt5IfxymNAZUJFvn/M=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "contrib",
|
||||
"rev": "dafa5d09b413d08a55a81f6f8e85775d717bacda",
|
||||
"rev": "189f32f56285aae9646bf1292976392beba5a2e2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -310,46 +343,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1737234286,
|
||||
"narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=",
|
||||
"rev": "079528098f5998ba13c88821a2eca1005c1695de",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/release-2.92.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"flake-utils"
|
||||
],
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741892773,
|
||||
"narHash": "sha256-8oUT6D7VlsuLkms3zBsUaPBUoxucmFq62QdtyVpjq0Y=",
|
||||
"ref": "stable",
|
||||
"rev": "ed7a2fa83145868ecb830d6b3c73ebfd81a9e911",
|
||||
"revCount": 130,
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module"
|
||||
},
|
||||
"original": {
|
||||
"ref": "stable",
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module"
|
||||
}
|
||||
},
|
||||
"nix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@ -390,11 +383,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751774635,
|
||||
"narHash": "sha256-DuOznGdgMxeSlPpUu6Wkq0ZD5e2Cfv9XRZeZlHWMd1s=",
|
||||
"lastModified": 1751170039,
|
||||
"narHash": "sha256-3EKpUmyGmHYA/RuhZjINTZPU+OFWko0eDwazUOW64nw=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "85686025ba6d18df31cc651a91d5adef63378978",
|
||||
"rev": "9c932ae632d6b5150515e5749b198c175d8565db",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -508,11 +501,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1751867001,
|
||||
"narHash": "sha256-3I49W0s3WVEDBO5S1RxYr74E2LLG7X8Wuvj9AmU0RDk=",
|
||||
"lastModified": 1751619433,
|
||||
"narHash": "sha256-5aZFBHQNQzrfCisewtYBDNbiKcHbxPYChiP4dkEcSXQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "73feb5e20ec7259e280ca6f424ba165059b3bb6b",
|
||||
"rev": "a2867cc3f8acc944cb19fe0b73c840e9fa1ba589",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -612,7 +605,6 @@
|
||||
"home-manager": "home-manager",
|
||||
"hydra": "hydra",
|
||||
"hyprland-contrib": "hyprland-contrib",
|
||||
"lix-module": "lix-module",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixos-cosmic": "nixos-cosmic",
|
||||
"nixos-generators": "nixos-generators",
|
||||
@ -635,11 +627,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751856221,
|
||||
"narHash": "sha256-/QE1eV0ckFvgRMcKjZqgdJDoXFNwSMepwRoBjaw2MCk=",
|
||||
"lastModified": 1751596734,
|
||||
"narHash": "sha256-1tQOwmn3jEUQjH0WDJyklC+hR7Bj+iqx6ChtRX2QiPA=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "34cae4b56929c5b340e1c5b10d9a98a425b2a51e",
|
||||
"rev": "e28ba067a9368286a8bc88b68dc2ca92181a09f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -675,8 +667,15 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": [
|
||||
"flake-compat"
|
||||
],
|
||||
"flake-parts": "flake-parts_2",
|
||||
"git-hooks": "git-hooks",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
@ -689,11 +688,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751840923,
|
||||
"narHash": "sha256-4HZxn+PrWytrWVg5c5SEetv3m9/k7rngJq27zKuRIfo=",
|
||||
"lastModified": 1751648901,
|
||||
"narHash": "sha256-yC45eAT37H6rOFCGhr2iuV5dzJ/8I2N1QrKq1MwPG7U=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "5259682ce58d935f248297bf1c9793a5cee0787e",
|
||||
"rev": "dea0337e0bffeeeb941ca6caffb44e966b13a97b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
37
flake.nix
37
flake.nix
@ -66,13 +66,13 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
lix-module = {
|
||||
url = "git+https://git.lix.systems/lix-project/nixos-module?ref=stable";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "flake-utils";
|
||||
};
|
||||
};
|
||||
#lix-module = {
|
||||
# url = "git+https://git.lix.systems/lix-project/nixos-module?ref=stable";
|
||||
# inputs = {
|
||||
# nixpkgs.follows = "nixpkgs";
|
||||
# flake-utils.follows = "flake-utils";
|
||||
# };
|
||||
#};
|
||||
|
||||
nix-index-database = {
|
||||
url = "github:Mic92/nix-index-database";
|
||||
@ -175,6 +175,29 @@
|
||||
formatter = forEachSystem (system: nixpkgs.legacyPackages.${system}.nixfmt-rfc-style);
|
||||
|
||||
nixosConfigurations = genSystems inputs outputs src (src + "/systems");
|
||||
homeConfigurations = {
|
||||
"alice" = inputs.home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
||||
modules = [
|
||||
inputs.stylix.homeModules.stylix
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
{
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
}
|
||||
./users/alice/home.nix
|
||||
];
|
||||
extraSpecialArgs = {
|
||||
inherit inputs outputs;
|
||||
machineConfig = {
|
||||
server = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
images = {
|
||||
install-iso = getImages nixosConfigurations "install-iso";
|
||||
iso = getImages nixosConfigurations "iso";
|
||||
|
@ -10,6 +10,9 @@ let
|
||||
getCfg = _: cfg: cfg.config.system.build.toplevel;
|
||||
hostToAgg = _: cfg: cfg;
|
||||
|
||||
getHome = _: cfg: cfg.config.home.activationPackage;
|
||||
homeToAgg = _: cfg: cfg;
|
||||
|
||||
# get per-system check derivation (with optional postfix)
|
||||
mapSystems =
|
||||
{
|
||||
@ -22,11 +25,16 @@ rec {
|
||||
inherit (outputs) formatter devShells checks;
|
||||
|
||||
host = lib.mapAttrs getCfg outputs.nixosConfigurations;
|
||||
home = lib.mapAttrs getHome outputs.homeConfigurations; # homeConfigurations.alice.config.home.activationPackage
|
||||
|
||||
hosts = pkgs.releaseTools.aggregate {
|
||||
name = "hosts";
|
||||
constituents = lib.mapAttrsToList hostToAgg host;
|
||||
};
|
||||
homes = pkgs.releaseTools.aggregate {
|
||||
name = "homes";
|
||||
constituents = lib.mapAttrsToList homeToAgg home;
|
||||
};
|
||||
|
||||
devChecks = pkgs.releaseTools.aggregate {
|
||||
name = "devChecks";
|
||||
|
@ -172,6 +172,7 @@ rec {
|
||||
modules =
|
||||
[
|
||||
inputs.nixos-modules.nixosModule
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
(genHostName hostname)
|
||||
(configPath + "/hardware.nix")
|
||||
(configPath + "/configuration.nix")
|
||||
@ -181,7 +182,7 @@ rec {
|
||||
++ genWrapper sops genSops args
|
||||
++ genWrapper home genHome args
|
||||
++ genWrapper true genUsers args
|
||||
++ genWrapper lix ({ ... }: [ inputs.lix-module.nixosModules.default ]) args
|
||||
#++ genWrapper lix ({ ... }: [ inputs.lix-module.nixosModules.default ]) args
|
||||
++ genWrapper (system != "x86_64-linux") genNonX86 args;
|
||||
};
|
||||
|
||||
|
@ -10,7 +10,7 @@ in
|
||||
image = "restic/rest-server:latest";
|
||||
volumes = [ "${restic_path}:/data" ];
|
||||
environment = {
|
||||
OPTIONS = "--prometheus --htpasswd-file /data/.htpasswd";
|
||||
OPTIONS = "--prometheus --private-repos --htpasswd-file /data/.htpasswd";
|
||||
};
|
||||
ports = [ "8010:8000" ];
|
||||
extraOptions = [
|
||||
|
@ -76,6 +76,7 @@
|
||||
nix-prefetch
|
||||
nix-tree
|
||||
nh
|
||||
home-manager
|
||||
|
||||
# doom emacs dependencies
|
||||
fd
|
||||
|
@ -72,7 +72,7 @@
|
||||
"sgc" = "sudo git -C /root/dotfiles";
|
||||
## SSH
|
||||
"ssh-init" =
|
||||
"ssh-add -t 2h ~/.ssh/id_rsa_tails ~/.ssh/id_ed25519_tails ~/.ssh/id_rsa_palatine ~/.ssh/id_ed25519_palatine ~/.ssh/id_ed25519_rota ~/.ssh/id_ed25519_gh";
|
||||
"ssh-add -t 2h ~/.ssh/id_rsa_tails ~/.ssh/id_ed25519_tails ~/.ssh/id_rsa_palatine ~/.ssh/id_ed25519_palatine ~/.ssh/id_ed25519_rota ~/.ssh/id_ed25519_gh ~/.ssh/id_ed25519";
|
||||
|
||||
## Backups
|
||||
"borgmatic-backup-quick" =
|
||||
|
Reference in New Issue
Block a user