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 };
25 in {
26 <<outputs>>
27 };
28 }
29#+end_src
30
31** Description
32#+NAME: description
33#+begin_src nix
34 description = "Tulk'dan's system config";
35#+end_src
36
37** Inputs
38:PROPERTIES:
39:header-args: :noweb-ref inputs
40:END:
41
42*** Nixpkgs
43
44#+begin_src nix
45 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
46#+end_src
47
48*** Home Manager
49#+begin_src nix
50 home-manager = {
51 url = "github:nix-community/home-manager";
52 inputs.nixpkgs.follows = "nixpkgs";
53 };
54#+end_src
55
56*** Niri
57#+begin_src nix
58 niri.url = "github:sodiboo/niri-flake";
59#+end_src
60
61*** AGR
62#+begin_src nix
63 ags.url = "github:Aylur/ags";
64#+end_src
65
66*** [[https://docs.vicinae.com/][Vicinae]]
67#+begin_src nix
68 vicinae.url = "github:vicinaehq/vicinae";
69#+end_src
70
71** Outputs
72:PROPERTIES:
73:header-args: :noweb-ref outputs
74:END:
75
76*** Formatter
77#+begin_src nix
78 formatter.x86_64-linux = pkgs.alejandra;
79#+end_src
80
81*** NixOS System
82#+begin_src nix
83 nixosConfigurations = {
84 ${hostname} = nixpkgs.lib.nixosSystem {
85 inherit system;
86
87 modules =
88 [
89 niri.nixosModules.niri
90 ({pkgs, ...}: {
91 nixpkgs.overlays = [niri.overlays.niri];
92 programs.niri.package = pkgs.niri-unstable;
93 # programs.niri.package = pkgs.niri-stable;
94 # programs.niri.package = pkgs.niri-unstable.override {src = niri-working-tree;};
95 environment.variables.NIXOS_OZONE_WL = "1";
96 environment.systemPackages = with pkgs; [
97 wl-clipboard
98 wayland-utils
99 libsecret
100 cage
101 ];
102 })
103
104 home-manager.nixosModules.home-manager
105 {
106 home-manager = {
107 useUserPackages = true;
108 extraSpecialArgs = inputs;
109 };
110 }
111 ./hosts/desktop
112 ];
113 };
114 };
115#+end_src
116
117*** Home Manager
118
119**** Personal
120#+begin_src nix
121 homeConfigurations = {
122 pedro = home-manager.lib.homeManagerConfiguration {
123 inherit pkgs;
124 extraSpecialArgs = {
125 inherit stateVersion;
126 inherit inputs;
127 username = users.pedro.username;
128 };
129 modules = [
130 vicinae.homeManagerModules.default
131 ./home
132 ./home/personal.nix
133 ];
134 };
135 };
136#+end_src