NixOS configuration 馃獎
1{
2 description = "Xaiya's Configuration";
3
4 outputs =
5 inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { imports = [ ./modules/flake ]; };
6
7 inputs = {
8
9 # main-repository
10 # Also important note:
11 # https://deer.social/profile/did:plc:mojgntlezho4qt7uvcfkdndg/post/3loogwsoqok2w
12 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz";
13
14 # Forked and better version of nix :>
15 lix = {
16 url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
17 inputs.nixpkgs.follows = "nixpkgs";
18 };
19
20 # declarative theme manager; The one I use the most currently !!
21 catppuccin = {
22 type = "github";
23 owner = "catppuccin";
24 repo = "nix";
25 };
26
27 # ATProtocol git platform
28 tangled = {
29 url = "git+https://tangled.org/@tangled.org/core";
30 inputs.nixpkgs.follows = "nixpkgs";
31 };
32
33 # TODO: change once at hardware part of this configuration?
34 # uses an entire repository with lots of configuration for just one (framework) module
35 # could write it into an own module
36 nixos-hardware = {
37 type = "github";
38 owner = "NixOS";
39 repo = "nixos-hardware";
40 ref = "master";
41 };
42
43 home-manager = {
44 type = "github";
45 owner = "nix-community";
46 repo = "home-manager";
47 inputs.nixpkgs.follows = "nixpkgs";
48 };
49
50 # secret manager based on age encryption
51 # the original agenix is needed for agenix-rekey, so dont mind them two being there
52 agenix = {
53 type = "github";
54 owner = "ryantm";
55 repo = "agenix";
56 inputs.nixpkgs.follows = "nixpkgs";
57 };
58
59 # secret manager based on age encryption
60 # this adds security key and system based encryption support !!
61 agenix-rekey = {
62 type = "github";
63 owner = "oddlama";
64 repo = "agenix-rekey";
65
66 inputs.nixpkgs.follows = "nixpkgs";
67 };
68
69 # Flake management tool, keeping all together nicely
70 flake-parts = {
71 type = "github";
72 owner = "hercules-ci";
73 repo = "flake-parts";
74
75 inputs.nixpkgs-lib.follows = "nixpkgs";
76 };
77
78 # easily manage our hosts devices
79 easy-hosts = {
80 type = "github";
81 owner = "tgirlcloud";
82 repo = "easy-hosts";
83 };
84
85 # Nix systems list
86 # TODO: needed?
87 systems = {
88 type = "github";
89 owner = "nix-systems";
90 repo = "default";
91 };
92
93 # TIDAL (music client)
94 # injection for features like plugins and themes
95 tidaLuna = {
96 type = "github";
97 owner = "Inrixia";
98 repo = "TidaLuna";
99 };
100
101 # TODO: other solution?
102 nixcord = {
103 type = "github";
104 owner = "KaylorBen";
105 repo = "nixcord";
106
107 inputs.nixpkgs.follows = "nixpkgs";
108 };
109 };
110}