this repo has no description
1#+TITLE: Flake configuration
2#+AUTHOR: Tulkdan
3#+EMAIL: pedro8correa@gmail.com
4
5#+begin_src nix :tangle flake.nix :noweb yes
6 {
7 <<description>>
8
9 inputs = {
10 <<inputs>>
11 };
12
13 outputs = { self, nixpkgs, home-manager, niri, vicinae, ... }@inputs: let
14 system = "x86_64-linux";
15 hostname = "nixos";
16 stateVersion = "25.05";
17 pkgs = import nixpkgs {
18 inherit system;
19 };
20 users = {
21 pedro = {
22 username = "pedro";
23 };
24 work = {
25 username = "pedro-correa";
26 };
27 };
28 in {
29 <<outputs>>
30 };
31 }
32#+end_src
33
34** Description
35#+NAME: description
36#+begin_src nix
37 description = "Tulk'dan's system config";
38#+end_src
39
40** Inputs
41:PROPERTIES:
42:header-args: :noweb-ref inputs
43:END:
44
45*** Nixpkgs
46
47#+begin_src nix
48 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
49#+end_src
50
51*** Home Manager
52#+begin_src nix
53 home-manager = {
54 url = "github:nix-community/home-manager";
55 inputs.nixpkgs.follows = "nixpkgs";
56 };
57#+end_src
58
59*** Niri
60#+begin_src nix
61 niri.url = "github:sodiboo/niri-flake";
62#+end_src
63
64*** AGR
65#+begin_src nix
66 ags.url = "github:Aylur/ags";
67#+end_src
68
69*** [[https://docs.vicinae.com/][Vicinae]]
70#+begin_src nix
71 vicinae.url = "github:vicinaehq/vicinae";
72#+end_src
73
74** Outputs
75:PROPERTIES:
76:header-args: :noweb-ref outputs
77:END:
78
79*** Formatter
80#+begin_src nix
81 formatter.x86_64-linux = pkgs.alejandra;
82#+end_src
83
84*** NixOS System
85#+begin_src nix
86 nixosConfigurations = {
87 ${hostname} = nixpkgs.lib.nixosSystem {
88 inherit system;
89
90 modules =
91 [
92 niri.nixosModules.niri
93 ({pkgs, ...}: {
94 nixpkgs.overlays = [niri.overlays.niri];
95 programs.niri.package = pkgs.niri-unstable;
96 # programs.niri.package = pkgs.niri-stable;
97 # programs.niri.package = pkgs.niri-unstable.override {src = niri-working-tree;};
98 environment.variables.NIXOS_OZONE_WL = "1";
99 environment.systemPackages = with pkgs; [
100 wl-clipboard
101 wayland-utils
102 libsecret
103 cage
104 ];
105 })
106
107 home-manager.nixosModules.home-manager
108 {
109 home-manager = {
110 useUserPackages = true;
111 extraSpecialArgs = inputs;
112 };
113 }
114 ./hosts/desktop
115 ];
116 };
117 };
118#+end_src
119
120*** Home Manager
121
122**** Personal
123#+begin_src nix
124 homeConfigurations = {
125 pedro = home-manager.lib.homeManagerConfiguration {
126 inherit pkgs;
127 extraSpecialArgs = {
128 inherit stateVersion;
129 inherit inputs;
130 username = users.pedro.username;
131 };
132 modules = [
133 vicinae.homeManagerModules.default
134 ./home
135 ./home/personal.nix
136 ];
137 };
138 };
139#+end_src
140
141**** Work
142#+begin_src nix
143 homeConfigurations = {
144 work = home-manager.lib.homeManagerConfiguration {
145 inherit pkgs;
146 extraSpecialArgs = {
147 inherit stateVersion;
148 username = users.work.username;
149 };
150 modules = [
151 vicinae.homeManagerModules.default
152 ./home
153 ./home/work.nix
154 ];
155 };
156 };
157#+end_src