Nix configurations for my personal machines (Linux & macOS)
1{
2 inputs = {
3 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
4 nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
5 # nur.url = "github:nix-community/NUR";
6
7 nix-darwin = {
8 url = "github:LnL7/nix-darwin";
9 inputs.nixpkgs.follows = "nixpkgs";
10 };
11
12 home-manager = {
13 url = "github:nix-community/home-manager";
14 inputs.nixpkgs.follows = "nixpkgs";
15 };
16
17 nix-index-database = {
18 url = "github:nix-community/nix-index-database";
19 inputs.nixpkgs.follows = "nixpkgs";
20 };
21
22 iosevka-solai = {
23 url = "github:ovyerus/iosevka-solai";
24 inputs.nixpkgs.follows = "nixpkgs";
25 };
26
27 niri-flake = {
28 url = "github:sodiboo/niri-flake";
29 inputs.nixpkgs.follows = "nixpkgs";
30 };
31
32 lix-module = {
33 url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-2.tar.gz";
34 inputs.nixpkgs.follows = "nixpkgs";
35 };
36
37 denix = {
38 url = "github:yunfachi/denix";
39 inputs.nixpkgs.follows = "nixpkgs";
40 inputs.home-manager.follows = "home-manager";
41 };
42
43 zen-browser = {
44 url = "github:youwen5/zen-browser-flake";
45 inputs.nixpkgs.follows = "nixpkgs";
46 };
47
48 # ags = {
49 # url = "github:Aylur/ags";
50 # inputs.nixpkgs.follows = "nixpkgs";
51 # };
52 };
53
54 outputs = {
55 # ags,
56 denix,
57 home-manager,
58 lix-module,
59 niri-flake,
60 nix-darwin,
61 nix-index-database,
62 nixpkgs,
63 self,
64 ...
65 } @ inputs: let
66 system = "x86_64-linux";
67 pkgs = nixpkgs.legacyPackages.${system};
68 # agsPkgs = ags.packages.${system};
69 mkConfigurations = moduleSystem:
70 denix.lib.configurations (let
71 homeManagerUser = "ovy";
72 in {
73 inherit moduleSystem homeManagerUser;
74
75 paths = [./hosts ./modules]; #./rices];
76 specialArgs = {inherit inputs moduleSystem homeManagerUser;};
77 });
78 in {
79 packages.${system} = {
80 iconifydl = pkgs.callPackage ./pkgs/iconifydl.nix {};
81
82 # default = ags.lib.bundle {
83 # inherit pkgs;
84 # src = ./files/astal;
85 # name = "ovy-shell";
86 # entry = "app.ts";
87 # };
88 };
89
90 # devShells.x86_64-linux.default = pkgs.mkShell {
91 # buildInputs = [agsPkgs.agsFull agsPkgs.io agsPkgs.apps agsPkgs.tray self.packages.${system}.iconifydl];
92 # };
93
94 nixosConfigurations = mkConfigurations "nixos";
95 darwinConfigurations = mkConfigurations "darwin";
96
97 # nixosModules.serverHomeManager = {...}: {
98 # imports = [home-manager.nixosModules.home-manager];
99
100 # home-manager = {
101 # useGlobalPkgs = true;
102 # useUserPackages = true;
103 # backupFileExtension = "backup";
104 # users.ovy = import ./home/server.nix;
105 # extraSpecialArgs = {inherit inputs;};
106 # };
107 # };
108
109 formatter = {
110 aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.alejandra;
111 aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.alejandra;
112 x86_64-darwin = nixpkgs.legacyPackages.x86_64-darwin.alejandra;
113 x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.alejandra;
114 };
115 };
116}