My nixos configuration
1{
2 inputs.nixpkgs-2105.url = "github:nixos/nixpkgs/nixos-21.05";
3 inputs.nixpkgs-2111.url = "github:nixos/nixpkgs/nixos-21.11";
4 inputs.nixpkgs-2205.url = "github:nixos/nixpkgs/nixos-22.05";
5 inputs.nixpkgs-2211.url = "github:nixos/nixpkgs/nixos-22.11";
6 inputs.unstable.url = "github:nixos/nixpkgs/nixos-unstable";
7 inputs.master.url = "github:nixos/nixpkgs/master";
8 inputs.nixpkgs-insync.url = "github:nixos/nixpkgs/bd751508cf67db3b13b03e25eb937854fc92ee30";
9
10 inputs.parts.url = "github:hercules-ci/flake-parts";
11
12 inputs.programsdb.url = "github:wamserma/flake-programs-sqlite";
13 inputs.programsdb.inputs.nixpkgs.follows = "unstable";
14
15 # The following is required to make flake-parts work.
16 inputs.nixpkgs.follows = "unstable";
17
18 inputs.nix.url = "github:nixos/nix"; #/caf51729450d4c57d48ddbef8e855e9bf65f8792";
19 # inputs.rnix-lsp.url = "github:nix-community/rnix-lsp/master";
20 # inputs.rnix-lsp.inputs.nixpkgs.follows = "nixpkgs-2111";
21 # inputs.rnix-lsp.inputs.naersk.inputs.nixpkgs.follows = "unstable";
22
23 inputs.nil.url = "github:oxalica/nil";
24
25 inputs.home-manager.url = "github:nix-community/home-manager";
26 inputs.home-manager.inputs.nixpkgs.follows = "unstable";
27
28 inputs.flake-utils.url = "github:numtide/flake-utils";
29
30 inputs.emacs.url = "github:nix-community/emacs-overlay";
31 inputs.emacs.inputs.nixpkgs.follows = "master";
32
33 inputs.nixos-vscode-server.url = "github:mudrii/nixos-vscode-ssh-fix/main";
34
35 inputs.statix.url = "github:nerdypepper/statix";
36 inputs.alejandra.url = "github:kamadorueda/alejandra/3.0.0";
37
38 outputs = {
39 self,
40 parts,
41 ...
42 } @ inputs:
43 parts.lib.mkFlake {inherit inputs;} {
44 systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin"];
45
46 imports = [
47 ./parts/auxiliary.nix
48 ./parts/home_configs.nix
49 ./parts/system_configs.nix
50
51 ./nixos/configurations
52 ./home/configurations
53 ];
54
55 flake = {
56 nixosModules = import ./nixos/modules inputs;
57
58 homeModules = import ./home/modules inputs;
59
60 mixedModules = import ./mixed inputs;
61
62 packages.x86_64-linux = import ./packages inputs "x86_64-linux";
63 packages.aarch64-linux = import ./packages inputs "aarch64-linux";
64 packages.aarch64-darwin = import ./packages inputs "aarch64-darwin";
65
66 checks.x86_64-linux = import ./checks inputs;
67 };
68 };
69}