🎨 nix fmt

This commit is contained in:
Laureηt 2023-12-15 16:18:36 +01:00
parent e77c7fd1d4
commit ec5b640f4d
Signed by: Laurent
SSH key fingerprint: SHA256:kZEpW8cMJ54PDeCvOhzreNr4FSh6R13CMGH/POoO8DI
72 changed files with 510 additions and 279 deletions

View file

@ -23,9 +23,7 @@
"inputs": { "inputs": {
"agenix": "agenix_2", "agenix": "agenix_2",
"crane": "crane", "crane": "crane",
"flake-utils": [ "flake-utils": "flake-utils",
"flake-utils"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -235,6 +233,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_3": {
"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-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
@ -254,6 +268,24 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"lanzaboote", "lanzaboote",
@ -274,7 +306,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": { "flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixos-anywhere", "nixos-anywhere",
@ -295,24 +327,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_5": { "flake-parts_5": {
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib_3" "nixpkgs-lib": "nixpkgs-lib_3"
@ -371,6 +385,24 @@
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib_6" "nixpkgs-lib": "nixpkgs-lib_6"
}, },
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_9": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_7"
},
"locked": { "locked": {
"lastModified": 1696343447, "lastModified": 1696343447,
"narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=", "narHash": "sha256-B2xAZKLkkeRFG5XcHHSXXcP7To9Xzr59KXeZiRf4vdQ=",
@ -389,11 +421,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1681202837,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -424,6 +456,24 @@
"inputs": { "inputs": {
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_5"
},
"locked": { "locked": {
"lastModified": 1694529238, "lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
@ -460,6 +510,27 @@
"type": "github" "type": "github"
} }
}, },
"gitignore_2": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660459072,
"narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -531,7 +602,7 @@
"inputs": { "inputs": {
"crane": "crane_2", "crane": "crane_2",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
@ -554,7 +625,7 @@
"nixos-anywhere": { "nixos-anywhere": {
"inputs": { "inputs": {
"disko": "disko_2", "disko": "disko_2",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_4",
"nixos-images": "nixos-images", "nixos-images": "nixos-images",
"nixos-stable": "nixos-stable", "nixos-stable": "nixos-stable",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
@ -737,6 +808,24 @@
} }
}, },
"nixpkgs-lib_6": { "nixpkgs-lib_6": {
"locked": {
"dir": "lib",
"lastModified": 1701253981,
"narHash": "sha256-ztaDIyZ7HrTAfEEUt9AtTDNoCYxUdSd6NrRHaYOIxtk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e92039b55bcd58469325ded85d4f58dd5a4eaf58",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib_7": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1696019113, "lastModified": 1696019113,
@ -770,6 +859,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1685801374,
"narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1702312524,
@ -787,6 +892,22 @@
} }
}, },
"nixpkgs_11": { "nixpkgs_11": {
"locked": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1700612854, "lastModified": 1700612854,
"narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=", "narHash": "sha256-yrQ8osMD+vDLGFX7pcwsY/Qr5PUd6OmDMYJZzZi0+zc=",
@ -802,7 +923,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_12": { "nixpkgs_13": {
"locked": { "locked": {
"lastModified": 1698318101, "lastModified": 1698318101,
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
@ -818,6 +939,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_14": {
"locked": {
"lastModified": 1695644571,
"narHash": "sha256-asS9dCCdlt1lPq0DLwkVBbVoEKuEuz+Zi3DG7pR/RxA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6500b4580c2a1f3d0f980d32d285739d8e156d92",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1702272962, "lastModified": 1702272962,
@ -900,16 +1037,16 @@
}, },
"nixpkgs_7": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1689261696,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "narHash": "sha256-LzfUtFs9MQRvIoQ3MfgSuipBVMXslMPH/vZ+nM40LkA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c", "rev": "df1eee2aa65052a18121ed4971081576b25d6b5c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -946,6 +1083,28 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"gitignore": "gitignore_2",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1702456155,
"narHash": "sha256-I2XhXGAecdGlqi6hPWYT83AQtMgL+aa3ulA85RAEgOk=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "007a45d064c1c32d04e1b8a0de5ef00984c419bc",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks-nix": { "pre-commit-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [
@ -979,8 +1138,8 @@
}, },
"projet-audionumerique": { "projet-audionumerique": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1702487657, "lastModified": 1702487657,
@ -998,8 +1157,8 @@
}, },
"projet-intelligence-artificielle-multimedia": { "projet-intelligence-artificielle-multimedia": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_6",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1702567767, "lastModified": 1702567767,
@ -1017,8 +1176,8 @@
}, },
"projet-oral-anglais": { "projet-oral-anglais": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_7",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1702566510, "lastModified": 1702566510,
@ -1036,8 +1195,8 @@
}, },
"projet-oral-japonais": { "projet-oral-japonais": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_7", "flake-parts": "flake-parts_8",
"nixpkgs": "nixpkgs_10" "nixpkgs": "nixpkgs_11"
}, },
"locked": { "locked": {
"lastModified": 1702567061, "lastModified": 1702567061,
@ -1055,8 +1214,8 @@
}, },
"resume": { "resume": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_11", "nixpkgs": "nixpkgs_12",
"typst": "typst" "typst": "typst"
}, },
"locked": { "locked": {
@ -1078,18 +1237,20 @@
"TP-calcul-parallele": "TP-calcul-parallele", "TP-calcul-parallele": "TP-calcul-parallele",
"agenix": "agenix", "agenix": "agenix",
"disko": "disko", "disko": "disko",
"flake-utils": "flake-utils", "flake-parts": "flake-parts_2",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"nixos-anywhere": "nixos-anywhere", "nixos-anywhere": "nixos-anywhere",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_6",
"pre-commit-hooks": "pre-commit-hooks",
"projet-audionumerique": "projet-audionumerique", "projet-audionumerique": "projet-audionumerique",
"projet-intelligence-artificielle-multimedia": "projet-intelligence-artificielle-multimedia", "projet-intelligence-artificielle-multimedia": "projet-intelligence-artificielle-multimedia",
"projet-oral-anglais": "projet-oral-anglais", "projet-oral-anglais": "projet-oral-anglais",
"projet-oral-japonais": "projet-oral-japonais", "projet-oral-japonais": "projet-oral-japonais",
"resume": "resume" "resume": "resume",
"treefmt-nix": "treefmt-nix_2"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -1217,6 +1378,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -1238,12 +1414,30 @@
"type": "github" "type": "github"
} }
}, },
"treefmt-nix_2": {
"inputs": {
"nixpkgs": "nixpkgs_14"
},
"locked": {
"lastModified": 1702461037,
"narHash": "sha256-ssyGxfGHRuuLHuMex+vV6RMOt7nAo07nwufg9L5GkLg=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "d06b70e5163a903f19009c3f97770014787a080f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"typst": { "typst": {
"inputs": { "inputs": {
"crane": "crane_3", "crane": "crane_3",
"flake-parts": "flake-parts_8", "flake-parts": "flake-parts_9",
"nixpkgs": "nixpkgs_12", "nixpkgs": "nixpkgs_13",
"systems": "systems_5" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1700840283, "lastModified": 1700840283,

View file

@ -1 +1,6 @@
{ ... }: { imports = [ ./services ./system ]; } {...}: {
imports = [
./services
./system
];
}

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
security.acme = { security.acme = {
acceptTerms = true; acceptTerms = true;
defaults.email = "acme@fainsin.bzh"; defaults.email = "acme@fainsin.bzh";

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
services.atuin = { services.atuin = {
enable = true; enable = true;
openRegistration = false; openRegistration = false;
@ -11,9 +10,8 @@
"atuin.fainsin.bzh" = { "atuin.fainsin.bzh" = {
forceSSL = true; forceSSL = true;
enableACME = true; enableACME = true;
locations."/" = { proxyPass = "http://127.0.0.1:8888"; }; locations."/".proxyPass = "http://127.0.0.1:8888";
}; };
}; };
}; };
} }

View file

@ -1 +1,3 @@
{ ... }: { services.changedetection-io.enable = true; } {...}: {
services.changedetection-io.enable = true;
}

View file

@ -1 +1,9 @@
{ ... }: { imports = [ ./acme ./atuin ./changedetection ./gitea ./nginx ]; } {...}: {
imports = [
./acme
./atuin
./changedetection
./gitea
./nginx
];
}

View file

@ -1,10 +1,14 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
age.secrets.gitea = { age.secrets.gitea = {
file = ../../../../secrets/gitea.age; file = ../../../../secrets/gitea.age;
owner = "gitea"; owner = "gitea";
group = "gitea"; group = "gitea";
}; };
age.identityPaths = [ "/root/.ssh/id_ed25519" ]; age.identityPaths = ["/root/.ssh/id_ed25519"];
services.gitea = { services.gitea = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.nginx = { services.nginx = {
enable = true; enable = true;
@ -11,5 +11,8 @@
# clientMaxBodySize = "0"; # clientMaxBodySize = "0";
}; };
imports = [ ./laurent ./n7 ]; imports = [
./laurent
./n7
];
} }

View file

@ -1 +1,6 @@
{ ... }: { imports = [ ./resume.nix ./website.nix ]; } {...}: {
imports = [
./resume.nix
./website.nix
];
}

View file

@ -1,4 +1,8 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
services.nginx.virtualHosts = { services.nginx.virtualHosts = {
"resume.laurent.fainsin.bzh" = { "resume.laurent.fainsin.bzh" = {
enableACME = true; enableACME = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/Laurent/personal-website"; url = "https://git.fainsin.bzh/Laurent/personal-website";
branchName = "pages"; branchName = "pages";
@ -17,8 +16,7 @@ in {
"fainsin.bzh" = { "fainsin.bzh" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations."/".return = locations."/".return = ''301 "$scheme://laurent.fainsin.bzh$request_uri"'';
''301 "$scheme://laurent.fainsin.bzh$request_uri"'';
}; };
default = { default = {
default = true; default = true;

View file

@ -1,3 +1,7 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
alias = inputs.TP-calcul-parallele.packages.${system}.report + "/"; alias = inputs.TP-calcul-parallele.packages.${system}.report + "/";
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/ENSEEIHT/TP-reinforcement-learning"; url = "https://git.fainsin.bzh/ENSEEIHT/TP-reinforcement-learning";
rev = "cfd97e864894af07ba768d8fc9382ddfcc09400f"; # pages rev = "cfd97e864894af07ba768d8fc9382ddfcc09400f"; # pages

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchFromGitea { pages = pkgs.fetchFromGitea {
domain = "git.fainsin.bzh"; domain = "git.fainsin.bzh";
owner = "ENSEEIHT"; owner = "ENSEEIHT";

View file

@ -1,56 +1,34 @@
{ inputs, system, pkgs, ... }: { {
inputs,
system,
pkgs,
...
}: {
services.nginx.virtualHosts = { services.nginx.virtualHosts = {
"n7.laurent.fainsin.bzh" = { "n7.laurent.fainsin.bzh" = {
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
locations = { locations =
{
"/".return = "301 $scheme://git.fainsin.bzh/ENSEEIHT"; "/".return = "301 $scheme://git.fainsin.bzh/ENSEEIHT";
}
} // { // {
"/projet-audionumerique/" = import ./projet-audionumerique.nix {inherit inputs system;};
"/projet-audionumerique/" = # # "/projet-systemes-algorithmes-repartis/" = import ./projet-systemes-algorithmes-repartis.nix pkgs;
import ./projet-audionumerique.nix { inherit inputs system; }; "/projet-intelligence-artificielle-multimedia/" = import ./projet-intelligence-artificielle-multimedia.nix {inherit inputs system;};
"/projet-probleme-inverse-3D/" = import ./projet-probleme-inverse-3D.nix pkgs;
"/projet-systemes-algorithmes-repartis/" = # # "/projet-modelisation-geometrique/" = import ./projet-modelisation-geometrique.nix pkgs;
import ./projet-systemes-algorithmes-repartis.nix pkgs; "/projet-long/" = import ./projet-long.nix pkgs;
"/projet-oral-japonais/" = import ./projet-oral-japonais.nix {inherit inputs system;};
"/projet-intelligence-artificielle-multimedia/" = # # "/projet-oral-anglais/" = import ./projet-oral-anglais.nix {inherit inputs system;};
import ./projet-intelligence-artificielle-multimedia.nix { "/projet-fin-etude/" = import ./projet-fin-etude.nix pkgs;
inherit inputs system; }
}; // {
"/TP-calcul-parallele/" = import ./TP-calcul-parallele.nix {inherit inputs system;};
"/projet-probleme-inverse-3D/" = # # "/TP-reinforcement-learning/" = import ./TP-reinforcement-learning.nix pkgs;
import ./projet-probleme-inverse-3D.nix pkgs; "/TP-traitement-audio-visuel/" = import ./TP-traitement-audio-visuel.nix pkgs;
};
"/projet-modelisation-geometrique/" = # #
import ./projet-modelisation-geometrique.nix pkgs;
"/projet-long/" = # #
import ./projet-long.nix pkgs;
"/projet-oral-japonais/" = # #
import ./projet-oral-japonais.nix { inherit inputs system; };
"/projet-oral-anglais/" = # #
import ./projet-oral-anglais.nix { inherit inputs system; };
"/projet-fin-etude/" = # #
import ./projet-fin-etude.nix pkgs;
} // {
"/TP-calcul-parallele/" = # #
import ./TP-calcul-parallele.nix { inherit inputs system; };
"/TP-reinforcement-learning/" = # #
import ./TP-reinforcement-learning.nix pkgs;
"/TP-traitement-audio-visuel/" = # #
import ./TP-traitement-audio-visuel.nix pkgs;
};
}; };
}; };
} }

View file

@ -1,3 +1,7 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
alias = inputs.projet-audionumerique.packages.${system}.slides + "/"; alias = inputs.projet-audionumerique.packages.${system}.slides + "/";
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/ENSEEIHT/projet-fin-etude-rapport"; url = "https://git.fainsin.bzh/ENSEEIHT/projet-fin-etude-rapport";
rev = "32fe5c7ec6d67241951fdaf001e3da1c41b29dcf"; # pages rev = "32fe5c7ec6d67241951fdaf001e3da1c41b29dcf"; # pages

View file

@ -1,4 +1,8 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
alias = alias =
inputs.projet-intelligence-artificielle-multimedia.packages.${system}.slides inputs.projet-intelligence-artificielle-multimedia.packages.${system}.slides
+ "/"; + "/";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/ENSEEIHT/projet-long"; url = "https://git.fainsin.bzh/ENSEEIHT/projet-long";
rev = "8290710fa7461c486dc727966c8eaa2234ae2e7d"; # pages rev = "8290710fa7461c486dc727966c8eaa2234ae2e7d"; # pages

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/ENSEEIHT/projet-modelisation-geometrique"; url = "https://git.fainsin.bzh/ENSEEIHT/projet-modelisation-geometrique";
rev = "bf68bccd640e68b92749b0580c82f8ab65e923a8"; # pages rev = "bf68bccd640e68b92749b0580c82f8ab65e923a8"; # pages

View file

@ -1,3 +1,7 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
alias = inputs.projet-oral-anglais.packages.${system}.slides + "/"; alias = inputs.projet-oral-anglais.packages.${system}.slides + "/";
} }

View file

@ -1,3 +1,7 @@
{ inputs, system, ... }: { {
inputs,
system,
...
}: {
alias = inputs.projet-oral-japonais.packages.${system}.slides + "/"; alias = inputs.projet-oral-japonais.packages.${system}.slides + "/";
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = "https://git.fainsin.bzh/ENSEEIHT/projet-probleme-inverse-3D"; url = "https://git.fainsin.bzh/ENSEEIHT/projet-probleme-inverse-3D";
rev = "9c75aadaf1b779e4f88fd42de163dedd8d5e918a"; # pages rev = "9c75aadaf1b779e4f88fd42de163dedd8d5e918a"; # pages

View file

@ -1,8 +1,6 @@
{ pkgs, ... }: {pkgs, ...}: let
let
pages = pkgs.fetchgit { pages = pkgs.fetchgit {
url = url = "https://git.fainsin.bzh/ENSEEIHT/projet-systemes-algorithmes-repartis";
"https://git.fainsin.bzh/ENSEEIHT/projet-systemes-algorithmes-repartis";
rev = "1826a53d95b19400b8dd252cd05b20012e3c3dac"; # pages rev = "1826a53d95b19400b8dd252cd05b20012e3c3dac"; # pages
sha256 = "0n81hpcj7lj5i7jhl8af869vy6fp6bhyrk4fdl6y2rpjgp64zmq2"; sha256 = "0n81hpcj7lj5i7jhl8af869vy6fp6bhyrk4fdl6y2rpjgp64zmq2";
}; };

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
# clean /tmp at each boot # clean /tmp at each boot
boot.tmp.cleanOnBoot = true; boot.tmp.cleanOnBoot = true;

View file

@ -1,4 +1,4 @@
{ modulesPath, ... }: { {modulesPath, ...}: {
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
boot.loader.grub = { boot.loader.grub = {
efiSupport = true; efiSupport = true;
efiInstallAsRemovable = true; efiInstallAsRemovable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
networking = { networking = {
# the name of the machine # the name of the machine
hostName = "hydrogen"; hostName = "hydrogen";
@ -7,7 +7,7 @@
domain = "fainsin.bzh"; domain = "fainsin.bzh";
# domain name servers, use clouflare family # domain name servers, use clouflare family
nameservers = [ "1.1.1.2" "1.0.0.2" ]; nameservers = ["1.1.1.2" "1.0.0.2"];
# TODO: bouger ça à côté des applications # TODO: bouger ça à côté des applications
firewall = { firewall = {

View file

@ -1,4 +1,9 @@
{ lib, pkgs, nixpkgs, ... }: { {
lib,
pkgs,
nixpkgs,
...
}: {
# optimizations # optimizations
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;
@ -10,14 +15,14 @@
}; };
# experimental features # experimental features
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# pin nixpkgs registry # pin nixpkgs registry
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
# print diff between two generations # print diff between two generations
system.activationScripts.nvd-report-changes = '' system.activationScripts.nvd-report-changes = ''
PATH=$PATH:${lib.makeBinPath [ pkgs.nvd pkgs.nix ]} PATH=$PATH:${lib.makeBinPath [pkgs.nvd pkgs.nix]}
nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2) nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2)
''; '';
} }

View file

@ -1,3 +1,8 @@
{ pkgs, ... }: { {pkgs, ...}: {
environment.systemPackages = with pkgs; [ btop borgbackup gitMinimal sysz ]; environment.systemPackages = with pkgs; [
btop
borgbackup
gitMinimal
sysz
];
} }

View file

@ -1,6 +1,6 @@
{ ... }: { {...}: {
services.openssh = { services.openssh = {
enable = true; enable = true;
ports = [ 624 ]; ports = [624];
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
users.mutableUsers = false; users.mutableUsers = false;
users.users.root.openssh.authorizedKeys.keys = [ users.users.root.openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu"

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: { {pkgs, ...}: {
imports = [ ./system ./services ]; imports = [./system ./services];
# shorter timeout for systemd services # shorter timeout for systemd services
systemd.extraConfig = '' systemd.extraConfig = ''
@ -10,7 +10,10 @@
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ]; extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-wlr
];
}; };
programs.zsh.enable = true; programs.zsh.enable = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
catppuccin-alacritty = pkgs.fetchFromGitHub { catppuccin-alacritty = pkgs.fetchFromGitHub {
owner = "catppuccin"; owner = "catppuccin";
repo = "alacritty"; repo = "alacritty";
@ -10,7 +9,7 @@ in {
programs.alacritty = { programs.alacritty = {
enable = true; enable = true;
settings = { settings = {
import = [ "${catppuccin-alacritty}/catppuccin-mocha.yml" ]; import = ["${catppuccin-alacritty}/catppuccin-mocha.yml"];
window.opacity = 0.85; window.opacity = 0.85;
font = { font = {
normal.family = "FiraCode Nerd Font Mono"; normal.family = "FiraCode Nerd Font Mono";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.chromium = { programs.chromium = {
enable = true; enable = true;
package = pkgs.ungoogled-chromium; package = pkgs.ungoogled-chromium;

View file

@ -1,4 +1,4 @@
{ hyprland, ... }: { {hyprland, ...}: {
config.home.stateVersion = "23.05"; config.home.stateVersion = "23.05";
imports = [ imports = [
hyprland.homeManagerModules.default hyprland.homeManagerModules.default

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.librewolf = { programs.librewolf = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
gtk = { gtk = {
enable = true; enable = true;
@ -19,8 +19,8 @@
theme = { theme = {
name = "Catppuccin-Mocha-Compact-Blue-Dark"; name = "Catppuccin-Mocha-Compact-Blue-Dark";
package = pkgs.catppuccin-gtk.override { package = pkgs.catppuccin-gtk.override {
tweaks = [ "rimless" "normal" ]; tweaks = ["rimless" "normal"];
accents = [ "blue" ]; accents = ["blue"];
variant = "mocha"; variant = "mocha";
size = "compact"; size = "compact";
}; };

View file

@ -1,8 +1,8 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.mpris-proxy.enable = true; # media keys services.mpris-proxy.enable = true; # media keys
home.packages = with pkgs; [ home.packages = with pkgs; [
(bemoji.overrideAttrs (oldAttrs: { (bemoji.overrideAttrs (_: {
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
owner = "marty-oehme"; owner = "marty-oehme";
repo = "bemoji"; repo = "bemoji";

View file

@ -1,7 +1,9 @@
{ ... }: { {...}: {
programs.atuin = { programs.atuin = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
settings = { sync_address = "https://atuin.fainsin.bzh"; }; settings = {
sync_address = "https://atuin.fainsin.bzh";
};
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
catppuccin-bat = pkgs.fetchFromGitHub { catppuccin-bat = pkgs.fetchFromGitHub {
owner = "catppuccin"; owner = "catppuccin";
repo = "bat"; repo = "bat";
@ -16,7 +15,7 @@ in {
}; };
}; };
config.theme = "catppuccin"; config.theme = "catppuccin";
extraPackages = with pkgs.bat-extras; [ batman ]; extraPackages = with pkgs.bat-extras; [batman];
}; };
programs.zsh.shellAliases = { programs.zsh.shellAliases = {
cat = "bat"; cat = "bat";

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
catppuccin-btop = pkgs.fetchFromGitHub { catppuccin-btop = pkgs.fetchFromGitHub {
owner = "catppuccin"; owner = "catppuccin";
repo = "btop"; repo = "btop";
@ -7,7 +6,6 @@ let
sha256 = "sha256-jodJl4f2T9ViNqsY9fk8IV62CrpC5hy7WK3aRpu70Cs="; sha256 = "sha256-jodJl4f2T9ViNqsY9fk8IV62CrpC5hy7WK3aRpu70Cs=";
}; };
in { in {
xdg.configFile."btop/themes".source = "${catppuccin-btop}/themes"; xdg.configFile."btop/themes".source = "${catppuccin-btop}/themes";
programs.btop = { programs.btop = {
@ -21,6 +19,5 @@ in {
}; };
}; };
programs.zsh.shellAliases = { htop = "btop"; }; programs.zsh.shellAliases = {htop = "btop";};
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./atuin.nix ./atuin.nix
./bat.nix ./bat.nix

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.direnv = { programs.direnv = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;

View file

@ -1,8 +1,7 @@
{ ... }: { {...}: {
programs.eza.enable = true; programs.eza.enable = true;
programs.zsh.shellAliases = { programs.zsh.shellAliases = {
l = l = "eza -lahg --icons --git --time-style=long-iso --group-directories-first --color=always";
"eza -lahg --icons --git --time-style=long-iso --group-directories-first --color=always";
ll = "l --grid"; ll = "l --grid";
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.git = { programs.git = {
enable = true; enable = true;
lfs.enable = true; lfs.enable = true;
@ -6,8 +6,7 @@
userEmail = "laurent@fainsin.bzh"; userEmail = "laurent@fainsin.bzh";
signing = { signing = {
signByDefault = true; signByDefault = true;
key = key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu laurent@neodymium";
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu laurent@neodymium";
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ lib, ... }: { {lib, ...}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
enableAutosuggestions = true; enableAutosuggestions = true;
@ -23,15 +23,17 @@
bindkey '^H' backward-kill-word bindkey '^H' backward-kill-word
bindkey '5~' kill-word bindkey '5~' kill-word
''; '';
plugins = [{ plugins = [
name = "zsh-nix-shell"; {
file = "nix-shell.plugin.zsh"; name = "zsh-nix-shell";
src = pkgs.fetchFromGitHub { file = "nix-shell.plugin.zsh";
owner = "chisui"; src = pkgs.fetchFromGitHub {
repo = "zsh-nix-shell"; owner = "chisui";
rev = "227d284ab2dc2f5153826974e0094a1990b1b5b9"; repo = "zsh-nix-shell";
sha256 = "11mkq58ssafvkq8sq27v0dl19mi2myi392nhxgi1q2q9q0gazcaa"; rev = "227d284ab2dc2f5153826974e0094a1990b1b5b9";
}; sha256 = "11mkq58ssafvkq8sq27v0dl19mi2myi392nhxgi1q2q9q0gazcaa";
}]; };
}
];
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscode; package = pkgs.vscode;
@ -29,8 +29,7 @@
"git.confirmSync" = false; "git.confirmSync" = false;
"git.enableSmartCommit" = true; "git.enableSmartCommit" = true;
"gitmoji.showEmojiCode" = true; "gitmoji.showEmojiCode" = true;
"terminal.integrated.fontFamily" = "terminal.integrated.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Color Emoji'";
"'FiraCode Nerd Font Mono', 'Noto Color Emoji'";
"window.menuBarVisibility" = "toggle"; "window.menuBarVisibility" = "toggle";
"window.zoomLevel" = -0.25; "window.zoomLevel" = -0.25;
"workbench.colorTheme" = "Catppuccin Mocha"; "workbench.colorTheme" = "Catppuccin Mocha";
@ -40,14 +39,12 @@
"telemetry.telemetryLevel" = "off"; "telemetry.telemetryLevel" = "off";
"editor.inlineSuggest.enabled" = true; "editor.inlineSuggest.enabled" = true;
"liveshare.presence" = true; "liveshare.presence" = true;
"github.copilot.enable" = { "markdown" = true; }; "github.copilot.enable" = {"markdown" = true;};
"nix.enableLanguageServer" = true; "nix.enableLanguageServer" = true;
"nix.serverPath" = "nil"; "nix.serverPath" = "nil";
"nix.serverSettings"."nil"."formatting"."command" = [ "nixfmt" ];
"julia.enableTelemetry" = false; "julia.enableTelemetry" = false;
"julia.symbolCacheDownload" = true; "julia.symbolCacheDownload" = true;
"terminal.integrated.commandsToSkipShell" = "terminal.integrated.commandsToSkipShell" = ["language-julia.interrupt"];
[ "language-julia.interrupt" ];
}; };
}; };
} }

View file

@ -1,5 +1,4 @@
{ pkgs, ... }: {pkgs, ...}: let
let
catppuccin-mako = pkgs.fetchFromGitHub { catppuccin-mako = pkgs.fetchFromGitHub {
owner = "catppuccin"; owner = "catppuccin";
repo = "mako"; repo = "mako";
@ -7,8 +6,12 @@ let
sha256 = "097x9jrkzvml6ngnhxwkzzl1l2awwv73yli1mhmpw83c0n8xck4x"; sha256 = "097x9jrkzvml6ngnhxwkzzl1l2awwv73yli1mhmpw83c0n8xck4x";
}; };
in { in {
# TODO: split some stuff here
imports = [ ./hyprland ./eww ]; imports = [
./hyprland
./eww
];
services.mako = { services.mako = {
enable = true; enable = true;
@ -104,5 +107,4 @@ in {
bs-hl-color = "F38BA8"; bs-hl-color = "F38BA8";
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.eww = { programs.eww = {
enable = true; enable = true;
package = pkgs.eww-wayland; package = pkgs.eww-wayland;

View file

@ -1,16 +1,18 @@
{ pkgs, ... }: { {pkgs, ...}: {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
extraConfig = '' extraConfig =
exec-once=env XDG_CACHE_HOME=/tmp eww open bar ''
exec-once=${pkgs.swaybg}/bin/swaybg -i ~/Pictures/wallpapers/kai-oberhauser-unsplash.jpg exec-once=env XDG_CACHE_HOME=/tmp eww open bar
exec-once=mako exec-once=${pkgs.swaybg}/bin/swaybg -i ~/Pictures/wallpapers/kai-oberhauser-unsplash.jpg
exec-once=element-desktop exec-once=mako
exec-once=thunderbird exec-once=element-desktop
exec-once=webcord exec-once=thunderbird
exec-once=wl-paste --watch cliphist store exec-once=webcord
exec-once=gnome-keyring-daemon --start --components=secrets exec-once=wl-paste --watch cliphist store
'' + builtins.readFile ./hyprland.conf; exec-once=gnome-keyring-daemon --start --components=secrets
''
+ builtins.readFile ./hyprland.conf;
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
xdg.mimeApps = { xdg.mimeApps = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ config, ... }: { {config, ...}: {
services.borgbackup.jobs.home = { services.borgbackup.jobs.home = {
paths = "/home/laurent/"; paths = "/home/laurent/";
repo = "/mnt/home_backup"; repo = "/mnt/home_backup";
@ -30,7 +30,7 @@
passCommand = "cat ${config.age.secrets.borgbackup.path}"; passCommand = "cat ${config.age.secrets.borgbackup.path}";
}; };
compression = "auto,zstd"; compression = "auto,zstd";
startAt = [ ]; startAt = [];
}; };
services.borgbackup.jobs.keepass = { services.borgbackup.jobs.keepass = {
paths = "/home/laurent/Documents/db_mdp.kdbx"; paths = "/home/laurent/Documents/db_mdp.kdbx";

View file

@ -1 +1,6 @@
{ ... }: { imports = [ ./borgbackup ./greetd ]; } {...}: {
imports = [
./borgbackup
./greetd
];
}

View file

@ -1,11 +1,10 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = { settings = {
default_session = { default_session = {
command = command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # TODO: use nix pkgs
"${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # TODO: use nix pkgs
user = "greeter"; user = "greeter";
}; };
}; };

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { {pkgs, ...}: {
# udev rules # udev rules
services.udev.packages = [ pkgs.android-udev-rules ]; services.udev.packages = [pkgs.android-udev-rules];
# adb users # adb users
users.users.laurent.extraGroups = [ "adbusers" ]; users.users.laurent.extraGroups = ["adbusers"];
} }

View file

@ -1,8 +1,8 @@
{ ... }: { {...}: {
age.secrets.borgbackup = { age.secrets.borgbackup = {
file = "/home/laurent/infrastructure/secrets/borgbackup.age"; file = "/home/laurent/infrastructure/secrets/borgbackup.age";
owner = "laurent"; owner = "laurent";
group = "users"; group = "users";
}; };
age.identityPaths = [ "/home/laurent/.ssh/id_ed25519" ]; age.identityPaths = ["/home/laurent/.ssh/id_ed25519"];
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;

View file

@ -1,6 +1,10 @@
{ pkgs, config, ... }: { {
pkgs,
config,
...
}: {
# support for mounting windaube partitions # support for mounting windaube partitions
boot.supportedFilesystems = [ "ntfs" ]; boot.supportedFilesystems = ["ntfs"];
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
# clean /tmp at each boot # clean /tmp at each boot
@ -9,12 +13,12 @@
# use latest kernel # use latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
imports = [ ./lanzaboot.nix ]; imports = [
./lanzaboot.nix
boot.initrd.availableKernelModules = ];
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" "v4l2loopback" ];
boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd" "v4l2loopback"];
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
} }

View file

@ -1,4 +1,4 @@
{ lib, ... }: { {lib, ...}: {
# This should already be here from switching to bootspec earlier. # This should already be here from switching to bootspec earlier.
# It's not required anymore, but also doesn't do any harm. # It's not required anymore, but also doesn't do any harm.
boot.bootspec.enable = true; boot.bootspec.enable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
virtualisation.podman = { virtualisation.podman = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
# https://notofonts.github.io/ # https://notofonts.github.io/
noto-fonts # standard characters noto-fonts # standard characters
@ -11,6 +11,6 @@
fira-code-symbols # unicode ligature glyphs fira-code-symbols # unicode ligature glyphs
# https://github.com/ryanoasis/nerd-fonts # https://github.com/ryanoasis/nerd-fonts
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
]; ];
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
# hardware # hardware
hardware = { hardware = {
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
@ -30,5 +30,7 @@
programs.light.enable = true; programs.light.enable = true;
# paritions and filesystems # paritions and filesystems
imports = [ ./partitions.nix ]; imports = [
./partitions.nix
];
} }

View file

@ -1,21 +1,22 @@
{ config, lib, ... }:
{ {
config,
lib,
...
}: {
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-uuid/b0ea5f1f-104f-4026-840a-4d46f3e827d1"; device = "/dev/disk/by-uuid/b0ea5f1f-104f-4026-840a-4d46f3e827d1";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos" ]; options = ["subvol=nixos"];
}; };
boot.initrd.luks.devices."nixenc".device = boot.initrd.luks.devices."nixenc".device = "/dev/disk/by-uuid/93d0b0d8-b586-48cf-acc2-025fba1eaadb";
"/dev/disk/by-uuid/93d0b0d8-b586-48cf-acc2-025fba1eaadb";
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6D10-BBAF"; device = "/dev/disk/by-uuid/6D10-BBAF";
fsType = "vfat"; fsType = "vfat";
}; };
swapDevices = [ ]; swapDevices = [];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = hardware.cpu.amd.updateMicrocode =

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
# FRANCE 🇫🇷 🥖 🥐 # FRANCE 🇫🇷 🥖 🥐
time.timeZone = "Europe/Paris"; time.timeZone = "Europe/Paris";

View file

@ -1,9 +1,9 @@
{ lib, ... }: { {lib, ...}: {
# the name of the machine # the name of the machine
networking.hostName = "neodymium"; networking.hostName = "neodymium";
# domain name servers, use clouflare family # domain name servers, use clouflare family
networking.nameservers = [ "1.1.1.2" "1.0.0.2" ]; networking.nameservers = ["1.1.1.2" "1.0.0.2"];
# use networkManager, see nmcli # use networkManager, see nmcli
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -12,8 +12,8 @@
networking.firewall = { networking.firewall = {
enable = true; enable = true;
allowedTCPPorts = [ ]; allowedTCPPorts = [];
allowedUDPPorts = [ ]; allowedUDPPorts = [];
}; };
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking

View file

@ -1,9 +1,15 @@
{ lib, pkgs, nixpkgs, ... }: { {
lib,
pkgs,
nixpkgs,
...
}: {
# restrict nix command to sudoers # restrict nix command to sudoers
nix.settings.allowed-users = [ "@wheel" ]; nix.settings.allowed-users = ["root" "@wheel"];
nix.settings.trusted-users = ["root" "@wheel"];
# experimental features # experimental features
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = ["nix-command" "flakes"];
# limit number of cores when building # limit number of cores when building
nix.settings.max-jobs = 6; nix.settings.max-jobs = 6;
@ -18,16 +24,6 @@
options = "--delete-older-than 30d"; options = "--delete-older-than 30d";
}; };
# binary caches
nix.settings = {
substituters =
[ "https://hyprland.cachix.org" "https://nix-community.cachix.org" ];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
# pin nixpkgs registry # pin nixpkgs registry
nix.registry.nixpkgs.flake = nixpkgs; nix.registry.nixpkgs.flake = nixpkgs;
@ -43,7 +39,7 @@
# print diff between two generations # print diff between two generations
system.activationScripts.nvd-report-changes = '' system.activationScripts.nvd-report-changes = ''
PATH=$PATH:${lib.makeBinPath [ pkgs.nvd pkgs.nix ]} PATH=$PATH:${lib.makeBinPath [pkgs.nvd pkgs.nix]}
nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2) nvd diff $(ls -dv /nix/var/nix/profiles/system-*-link | tail -2)
''; '';
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
# enable polkit # enable polkit
security.polkit.enable = true; security.polkit.enable = true;
@ -13,5 +13,5 @@
services.gnome.gnome-keyring.enable = true; services.gnome.gnome-keyring.enable = true;
# allow swaylock to use pam # allow swaylock to use pam
security.pam.services.swaylock = { }; security.pam.services.swaylock = {};
} }

View file

@ -1,4 +1,8 @@
{ pkgs, hyprland, ... }: { {
pkgs,
hyprland,
...
}: {
# disable user creation/deletion # disable user creation/deletion
users.mutableUsers = false; users.mutableUsers = false;
@ -6,7 +10,7 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = { inherit hyprland; }; extraSpecialArgs = {inherit hyprland;};
}; };
# configure users # configure users
@ -15,7 +19,7 @@
users.laurent = { users.laurent = {
isNormalUser = true; isNormalUser = true;
initialPassword = "laurent"; initialPassword = "laurent";
extraGroups = [ "wheel" "video" "docker" ]; extraGroups = ["wheel" "video" "docker"];
shell = pkgs.zsh; shell = pkgs.zsh;
}; };
}; };

View file

@ -1,9 +1,7 @@
let let
neodymium = neodymium = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu laurent@neodymium";
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINTvwXCT99s1EwOCeGQ28jyCAH/RBoLZza9k5I7wWdEu laurent@neodymium"; hydrogen = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxh42mMYqftTU7WtfktZbkdMI07VuH7mhUv3m2Ca3fV root@hydrogen";
hydrogen =
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAxh42mMYqftTU7WtfktZbkdMI07VuH7mhUv3m2Ca3fV root@hydrogen";
in { in {
"borgbackup.age".publicKeys = [ neodymium ]; "borgbackup.age".publicKeys = [neodymium];
"gitea.age".publicKeys = [ neodymium hydrogen ]; "gitea.age".publicKeys = [neodymium hydrogen];
} }