Compare commits

...

3 commits

73 changed files with 688 additions and 354 deletions

View file

@ -1,12 +1,29 @@
{ {
"nodes": { "nodes": {
"TP-calcul-parallele": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1702648833,
"narHash": "sha256-gTEE0OrbXHtqjlvSa8d99lzTKfxK/H7VNY3dF38xXPM=",
"ref": "refs/heads/master",
"rev": "352ce6df4e77f5fe7de6b804e14422cda2f6fcff",
"revCount": 3,
"type": "git",
"url": "https://git.fainsin.bzh/ENSEEIHT/TP-calcul-parallele"
},
"original": {
"type": "git",
"url": "https://git.fainsin.bzh/ENSEEIHT/TP-calcul-parallele"
}
},
"agenix": { "agenix": {
"inputs": { "inputs": {
"agenix": "agenix_2", "agenix": "agenix_2",
"crane": "crane", "crane": "crane",
"flake-utils": [ "flake-utils": "flake-utils",
"flake-utils"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -146,7 +163,7 @@
}, },
"disko": { "disko": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1702569759, "lastModified": 1702569759,
@ -216,7 +233,59 @@
"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": {
"nixpkgs-lib": "nixpkgs-lib"
},
"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_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",
@ -237,7 +306,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": { "flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixos-anywhere", "nixos-anywhere",
@ -258,42 +327,6 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"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_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"
@ -334,6 +367,42 @@
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib_5" "nixpkgs-lib": "nixpkgs-lib_5"
}, },
"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_8": {
"inputs": {
"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=",
@ -352,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": {
@ -387,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=",
@ -423,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": [
@ -446,7 +554,7 @@
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"systems": "systems_2", "systems": "systems_2",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
@ -494,9 +602,9 @@
"inputs": { "inputs": {
"crane": "crane_2", "crane": "crane_2",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-parts": "flake-parts", "flake-parts": "flake-parts_3",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_4",
"pre-commit-hooks-nix": "pre-commit-hooks-nix", "pre-commit-hooks-nix": "pre-commit-hooks-nix",
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
@ -517,10 +625,10 @@
"nixos-anywhere": { "nixos-anywhere": {
"inputs": { "inputs": {
"disko": "disko_2", "disko": "disko_2",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_4",
"nixos-images": "nixos-images", "nixos-images": "nixos-images",
"nixos-stable": "nixos-stable", "nixos-stable": "nixos-stable",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@ -595,16 +703,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1702272962, "lastModified": 1702312524,
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", "rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixpkgs-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -682,6 +790,42 @@
} }
}, },
"nixpkgs-lib_5": { "nixpkgs-lib_5": {
"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_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,
@ -715,7 +859,55 @@
"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": {
"lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"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=",
@ -731,7 +923,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_11": { "nixpkgs_13": {
"locked": { "locked": {
"lastModified": 1698318101, "lastModified": 1698318101,
"narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=", "narHash": "sha256-gUihHt3yPD7bVqg+k/UVHgngyaJ3DMEBchbymBMvK1E=",
@ -747,7 +939,39 @@
"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": {
"lastModified": 1702272962,
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1702312524,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=",
@ -763,7 +987,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1699354722, "lastModified": 1699354722,
"narHash": "sha256-abmqUReg4PsyQSwv4d0zjcWpMHrd3IFJiTb2tZpfF04=", "narHash": "sha256-abmqUReg4PsyQSwv4d0zjcWpMHrd3IFJiTb2tZpfF04=",
@ -779,7 +1003,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1702310776, "lastModified": 1702310776,
"narHash": "sha256-T2KJpsNjAytMsP6+xrhXfAb2KTG6Yt2D4hTTugpsJFo=", "narHash": "sha256-T2KJpsNjAytMsP6+xrhXfAb2KTG6Yt2D4hTTugpsJFo=",
@ -795,22 +1019,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": {
"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_6": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1702312524,
@ -829,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"
} }
@ -875,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": [
@ -908,8 +1138,8 @@
}, },
"projet-audionumerique": { "projet-audionumerique": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_5",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1702487657, "lastModified": 1702487657,
@ -927,8 +1157,8 @@
}, },
"projet-intelligence-artificielle-multimedia": { "projet-intelligence-artificielle-multimedia": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_6",
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1702567767, "lastModified": 1702567767,
@ -946,8 +1176,8 @@
}, },
"projet-oral-anglais": { "projet-oral-anglais": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_5", "flake-parts": "flake-parts_7",
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1702566510, "lastModified": 1702566510,
@ -965,8 +1195,8 @@
}, },
"projet-oral-japonais": { "projet-oral-japonais": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_6", "flake-parts": "flake-parts_8",
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_11"
}, },
"locked": { "locked": {
"lastModified": 1702567061, "lastModified": 1702567061,
@ -984,8 +1214,8 @@
}, },
"resume": { "resume": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_12",
"typst": "typst" "typst": "typst"
}, },
"locked": { "locked": {
@ -1004,20 +1234,23 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"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_5", "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": {
@ -1145,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": [
@ -1166,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_7", "flake-parts": "flake-parts_9",
"nixpkgs": "nixpkgs_11", "nixpkgs": "nixpkgs_13",
"systems": "systems_5" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1700840283, "lastModified": 1700840283,

View file

@ -1,7 +1,6 @@
{ {
description = "Laureηt's infrastructure"; description = "Laureηt's infrastructure";
# TODO: setup flake-parts à la place de flake-utils
# TODO: setup le formatter comme sioodmy # TODO: setup le formatter comme sioodmy
# TODO: rekey les secrets + changer la key de hydrogen # TODO: rekey les secrets + changer la key de hydrogen
# TODO: luks encrypt hydrogen (dropbear ?) # TODO: luks encrypt hydrogen (dropbear ?)
@ -21,57 +20,96 @@
agenix = { agenix = {
url = "github:yaxitech/ragenix"; url = "github:yaxitech/ragenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
}; };
flake-utils.url = "github:numtide/flake-utils"; flake-parts.url = "github:hercules-ci/flake-parts";
lanzaboote.url = "github:nix-community/lanzaboote"; lanzaboote.url = "github:nix-community/lanzaboote";
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
nixos-hardware.url = "github:nixos/nixos-hardware"; nixos-hardware.url = "github:nixos/nixos-hardware";
disko.url = "github:nix-community/disko"; disko.url = "github:nix-community/disko";
nixos-anywhere.url = "github:nix-community/nixos-anywhere"; nixos-anywhere.url = "github:nix-community/nixos-anywhere";
# atuin.url = "github:atuinsh/atuin";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
treefmt-nix.url = "github:numtide/treefmt-nix";
resume.url = "git+https://git.fainsin.bzh/Laurent/resume"; resume.url = "git+https://git.fainsin.bzh/Laurent/resume";
projet-intelligence-artificielle-multimedia.url = projet-intelligence-artificielle-multimedia.url = "git+https://git.fainsin.bzh/ENSEEIHT/projet-intelligence-artificielle-multimedia";
"git+https://git.fainsin.bzh/ENSEEIHT/projet-intelligence-artificielle-multimedia"; projet-audionumerique.url = "git+https://git.fainsin.bzh/ENSEEIHT/projet-audionumerique";
projet-audionumerique.url = projet-oral-japonais.url = "git+https://git.fainsin.bzh/ENSEEIHT/projet-oral-japonais";
"git+https://git.fainsin.bzh/ENSEEIHT/projet-audionumerique"; projet-oral-anglais.url = "git+https://git.fainsin.bzh/ENSEEIHT/projet-oral-anglais";
projet-oral-japonais.url = TP-calcul-parallele.url = "git+https://git.fainsin.bzh/ENSEEIHT/TP-calcul-parallele";
"git+https://git.fainsin.bzh/ENSEEIHT/projet-oral-japonais";
projet-oral-anglais.url =
"git+https://git.fainsin.bzh/ENSEEIHT/projet-oral-anglais";
}; };
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [
#
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://pre-commit-hooks.cachix.org"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
]; ];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
]; ];
}; };
outputs = { nixpkgs, flake-utils, lanzaboote, agenix, home-manager outputs = {
, nixos-hardware, disko, ... }@inputs: nixpkgs,
agenix,
flake-parts,
lanzaboote,
home-manager,
nixos-hardware,
disko,
pre-commit-hooks,
treefmt-nix,
...
} @ inputs:
flake-parts.lib.mkFlake {inherit inputs;} {
systems = ["x86_64-linux" "aarch64-linux"];
imports = [
flake-parts.flakeModules.easyOverlay
pre-commit-hooks.flakeModule
treefmt-nix.flakeModule
];
perSystem = {
pkgs,
system,
...
}: rec {
formatter = pkgs.alejandra;
treefmt = {
projectRootFile = "flake.nix";
programs = {
alejandra.enable = true;
deadnix.enable = true;
};
};
pre-commit = {
settings.excludes = ["flake.lock"];
settings.hooks = {
alejandra.enable = true;
deadnix.enable = true;
};
};
(flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.default = pkgs.mkShell { devShells.default = pkgs.mkShell {
packages = [ packages = [
pkgs.nixfmt # formatting formatter # defined above
pkgs.git # version control pkgs.git # version control
pkgs.update-nix-fetchgit # auto update fetchs pkgs.update-nix-fetchgit # auto update fetchs
agenix.packages.${system}.ragenix # secrets agenix.packages.${system}.ragenix # secrets
pkgs.sbctl # secure boot pkgs.sbctl # secure boot
]; ];
}; };
})) // { };
flake.nixosConfigurations = {
# neodymium laptop # neodymium laptop
nixosConfigurations.neodymium = nixpkgs.lib.nixosSystem { neodymium = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [
@ -87,7 +125,7 @@
}; };
# hydrogen vps # hydrogen vps
nixosConfigurations.hydrogen = nixpkgs.lib.nixosSystem rec { hydrogen = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { specialArgs = {
inherit inputs; inherit inputs;
@ -102,4 +140,5 @@
]; ];
}; };
}; };
};
} }

View file

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

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,4 +1,8 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
age.secrets.gitea = { age.secrets.gitea = {
file = ../../../../secrets/gitea.age; file = ../../../../secrets/gitea.age;
owner = "gitea"; owner = "gitea";

View file

@ -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,11 +1,7 @@
{ pkgs, ... }: {
let inputs,
pages = pkgs.fetchgit { system,
url = "https://git.fainsin.bzh/ENSEEIHT/TP-calcul-parallele"; ...
rev = "7222bd269d5f2fb3873cd8cacb83bf5123b1f91a"; # pages }: {
sha256 = "1anj0xixcql068wijqb344ay1cf8xl7x6mfmbvvcrqv21ni61xx3"; alias = inputs.TP-calcul-parallele.packages.${system}.report + "/";
};
in {
alias = "${pages}/";
index = "report.html";
} }

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,55 +1,33 @@
{ 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 pkgs;
"/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,9 @@
{ lib, pkgs, nixpkgs, ... }: { {
lib,
pkgs,
nixpkgs,
...
}: {
# optimizations # optimizations
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;

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

@ -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";

View file

@ -2,7 +2,7 @@
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

@ -2,6 +2,8 @@
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";

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 = {
@ -22,5 +20,4 @@ in {
}; };
programs.zsh.shellAliases = {htop = "btop";}; programs.zsh.shellAliases = {htop = "btop";};
} }

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

@ -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

@ -23,7 +23,8 @@
bindkey '^H' backward-kill-word bindkey '^H' backward-kill-word
bindkey '5~' kill-word bindkey '5~' kill-word
''; '';
plugins = [{ plugins = [
{
name = "zsh-nix-shell"; name = "zsh-nix-shell";
file = "nix-shell.plugin.zsh"; file = "nix-shell.plugin.zsh";
src = pkgs.fetchFromGitHub { src = pkgs.fetchFromGitHub {
@ -32,6 +33,7 @@
rev = "227d284ab2dc2f5153826974e0094a1990b1b5b9"; rev = "227d284ab2dc2f5153826974e0094a1990b1b5b9";
sha256 = "11mkq58ssafvkq8sq27v0dl19mi2myi392nhxgi1q2q9q0gazcaa"; sha256 = "11mkq58ssafvkq8sq27v0dl19mi2myi392nhxgi1q2q9q0gazcaa";
}; };
}]; }
];
}; };
} }

View file

@ -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";
@ -43,11 +42,9 @@
"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

@ -2,7 +2,8 @@
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
extraConfig = '' extraConfig =
''
exec-once=env XDG_CACHE_HOME=/tmp eww open bar 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=${pkgs.swaybg}/bin/swaybg -i ~/Pictures/wallpapers/kai-oberhauser-unsplash.jpg
exec-once=mako exec-once=mako
@ -11,6 +12,7 @@
exec-once=webcord exec-once=webcord
exec-once=wl-paste --watch cliphist store exec-once=wl-paste --watch cliphist store
exec-once=gnome-keyring-daemon --start --components=secrets exec-once=gnome-keyring-daemon --start --components=secrets
'' + builtins.readFile ./hyprland.conf; ''
+ builtins.readFile ./hyprland.conf;
}; };
} }

View file

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

View file

@ -4,8 +4,7 @@
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,4 +1,8 @@
{ 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;
@ -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 = boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
[ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd" "v4l2loopback"]; boot.kernelModules = ["kvm-amd" "v4l2loopback"];
boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback]; boot.extraModulePackages = with config.boot.kernelPackages; [v4l2loopback];
} }

View file

@ -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,14 +1,15 @@
{ 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";

View file

@ -1,6 +1,12 @@
{ 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"];
@ -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;

View file

@ -1,4 +1,8 @@
{ pkgs, hyprland, ... }: { {
pkgs,
hyprland,
...
}: {
# disable user creation/deletion # disable user creation/deletion
users.mutableUsers = false; users.mutableUsers = false;

View file

@ -1,8 +1,6 @@
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];