Compare commits
12 Commits
hm-standal
...
emulation
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f2b5f7f57 | |||
| 14a0160309 | |||
| 43654c2946 | |||
| 8dd4513997 | |||
| 1d95ffb81a | |||
| c53db46ca7 | |||
| c546e6242b | |||
| 05bb811e42 | |||
| 7615d1a1d5 | |||
| 9eea820f3b | |||
| 6024b77535 | |||
| 257fab9832 |
187
flake.lock
generated
187
flake.lock
generated
@@ -1,5 +1,27 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aagl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761836926,
|
||||
"narHash": "sha256-HnNzEUuBqmJCUV/N/IbL0wFT1LHmNGWTLkUg7yRIhpY=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "e601b479a3d08124ee6ceea391cdc3f395aab54e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -7,16 +29,16 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1767634391,
|
||||
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=",
|
||||
"lastModified": 1759509947,
|
||||
"narHash": "sha256-4XifSIHfpJKcCf5bZZRhj8C4aCpjNBaE3kXr02s4rHU=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2",
|
||||
"rev": "000eadb231812ad6ea6aebd7526974aaf4e79355",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"ref": "nix-darwin-25.11",
|
||||
"ref": "nix-darwin-25.05",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -37,6 +59,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
@@ -57,19 +95,18 @@
|
||||
},
|
||||
"ghostty": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"zig": "zig",
|
||||
"zon2nix": "zon2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769985646,
|
||||
"narHash": "sha256-ubfC9fLfdQ0xpQuFmGQCYIRyEEmOzXd+ya5rShM217k=",
|
||||
"lastModified": 1761933492,
|
||||
"narHash": "sha256-DNGhpvYt6dVbkDse4s/L/jJvejvOV0bs+YWfAAskJ7g=",
|
||||
"owner": "ghostty-org",
|
||||
"repo": "ghostty",
|
||||
"rev": "769fff5dfb322594c0dc7a379ee70897a7db773f",
|
||||
"rev": "765ee6842930f0d6918574b9b87c2ee6583e4727",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -81,41 +118,20 @@
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768068402,
|
||||
"narHash": "sha256-bAXnnJZKJiF7Xr6eNW6+PhBf1lg2P1aFUO9+xgWkXfA=",
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8bc5473b6bc2b6e1529a9c4040411e1199c43b4c",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769580047,
|
||||
"narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-25.11",
|
||||
"ref": "release-25.05",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -138,34 +154,63 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1768032153,
|
||||
"narHash": "sha256-zvxtwlM8ZlulmZKyYCQAPpkm5dngSEnnHjmjV7Teloc=",
|
||||
"rev": "3146c6aa9995e7351a398e17470e15305e6e18ff",
|
||||
"lastModified": 1744536153,
|
||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 315532800,
|
||||
"narHash": "sha256-sV6pJNzFkiPc6j9Bi9JuHBnWdVhtKB/mHgVmMPvDFlk=",
|
||||
"rev": "82c2e0d6dde50b17ae366d2aa36f224dc19af469",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre925418.3146c6aa9995/nixexprs.tar.xz"
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.11pre877938.82c2e0d6dde5/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1769900590,
|
||||
"narHash": "sha256-I7Lmgj3owOTBGuauy9FL6qdpeK2umDoe07lM4V+PnyA=",
|
||||
"lastModified": 1758360447,
|
||||
"narHash": "sha256-XDY3A83bclygHDtesRoaRTafUd80Q30D/Daf9KSG6bs=",
|
||||
"rev": "8eaee110344796db060382e15d3af0a9fc396e0e",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-25.11pre864002.8eaee1103447/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1761597516,
|
||||
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "41e216c0ca66c83b12ab7a98cc326b5db01db646",
|
||||
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1744536153,
|
||||
"narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=",
|
||||
@@ -183,24 +228,43 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"aagl": "aagl",
|
||||
"darwin": "darwin",
|
||||
"ghostty": "ghostty",
|
||||
"home-manager": "home-manager_2",
|
||||
"home-manager": "home-manager",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"rust-overlay": "rust-overlay"
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769915446,
|
||||
"narHash": "sha256-f1F/umtX3ZD7fF9DHSloVHc0mnAT0ry0YK2jI/6E0aI=",
|
||||
"lastModified": 1761791894,
|
||||
"narHash": "sha256-myRIDh+PxaREz+z9LzbqBJF+SnTFJwkthKDX9zMyddY=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "bc00300f010275e46feb3c3974df6587ff7b7808",
|
||||
"rev": "59c45eb69d9222a4362673141e00ff77842cd219",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761964689,
|
||||
"narHash": "sha256-Zo3LQQDz+64EQ9zor/WmeNTFLoZkjmhp0UY3G0D3seE=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "63d22578600f70d293aede6bc737efef60ebd97f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -240,11 +304,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763295135,
|
||||
"narHash": "sha256-sGv/NHCmEnJivguGwB5w8LRmVqr1P72OjS+NzcJsssE=",
|
||||
"lastModified": 1760401936,
|
||||
"narHash": "sha256-/zj5GYO5PKhBWGzbHbqT+ehY8EghuABdQ2WGfCwZpCQ=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "64f8b42cfc615b2cf99144adf2b7728c7847c72a",
|
||||
"rev": "365085b6652259753b598d43b723858184980bbe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -255,23 +319,20 @@
|
||||
},
|
||||
"zon2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs"
|
||||
]
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1768231828,
|
||||
"narHash": "sha256-wL/8Iij4T2OLkhHcc4NieOjf7YeJffaUYbCiCqKv/+0=",
|
||||
"lastModified": 1758405547,
|
||||
"narHash": "sha256-WgaDgvIZMPvlZcZrpPMjkaalTBnGF2lTG+62znXctWM=",
|
||||
"owner": "jcollie",
|
||||
"repo": "zon2nix",
|
||||
"rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071",
|
||||
"rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jcollie",
|
||||
"repo": "zon2nix",
|
||||
"rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071",
|
||||
"rev": "bf983aa90ff169372b9fa8c02e57ea75e0b42245",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
|
||||
51
flake.nix
51
flake.nix
@@ -1,18 +1,22 @@
|
||||
{
|
||||
description = "Wyatt's nix configuration suite";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-25.11";
|
||||
url = "github:nix-community/home-manager/release-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
darwin = {
|
||||
url = "github:lnl7/nix-darwin/nix-darwin-25.11";
|
||||
url = "github:lnl7/nix-darwin/nix-darwin-25.05";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
ghostty.url = "github:ghostty-org/ghostty";
|
||||
rust-overlay.url = "github:oxalica/rust-overlay";
|
||||
aagl = {
|
||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = inputs @ {
|
||||
@@ -21,18 +25,21 @@
|
||||
nix-flatpak,
|
||||
darwin,
|
||||
home-manager,
|
||||
ghostty,
|
||||
rust-overlay,
|
||||
aagl,
|
||||
...
|
||||
}: let
|
||||
userName = "wyatt";
|
||||
userEmail = "wyatt@wyattjmiller.com";
|
||||
extraSpecialArgs = {
|
||||
inherit userName userEmail;
|
||||
inherit userName userEmail ghostty;
|
||||
};
|
||||
|
||||
myOverlays = { ... }: {
|
||||
nixpkgs.overlays = [
|
||||
rust-overlay.overlays.default
|
||||
aagl.overlays.default
|
||||
self.common.overlays
|
||||
];
|
||||
};
|
||||
@@ -47,9 +54,9 @@
|
||||
darwinConfigurations."sephiroth" = darwin.lib.darwinSystem {
|
||||
system = "aarch64-darwin";
|
||||
specialArgs = {
|
||||
inherit userName userEmail;
|
||||
inherit userName userEmail ghostty;
|
||||
hostname = "sephiroth";
|
||||
role = "workstation";
|
||||
role = "devel";
|
||||
};
|
||||
modules = [
|
||||
myOverlays
|
||||
@@ -60,8 +67,7 @@
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = false; role = "workstation"; };
|
||||
# home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||
home-manager.backupFileExtension = "bak";
|
||||
home-manager.users.${userName} = import ./home;
|
||||
}
|
||||
@@ -72,9 +78,9 @@
|
||||
nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit userName userEmail;
|
||||
inherit userName userEmail ghostty aagl;
|
||||
hostname = "cloud";
|
||||
role = "workstation";
|
||||
role = "devel";
|
||||
};
|
||||
modules = [
|
||||
myOverlays
|
||||
@@ -86,7 +92,7 @@
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs // { isNixOS = true; role = "workstation"; };
|
||||
home-manager.extraSpecialArgs = extraSpecialArgs;
|
||||
home-manager.backupFileExtension = "bak";
|
||||
home-manager.users.${userName}.imports = [
|
||||
./home
|
||||
@@ -150,28 +156,5 @@
|
||||
# }
|
||||
# ];
|
||||
};
|
||||
|
||||
# generic non-NixOS Linux machine
|
||||
homeConfigurations."generic" = let
|
||||
hostname = builtins.getEnv "HOSTNAME";
|
||||
system = "x86_64-linux";
|
||||
in home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
extraSpecialArgs = {
|
||||
inherit userName userEmail hostname;
|
||||
isNixOS = false;
|
||||
role = "workstation";
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
rust-overlay.overlays.default
|
||||
self.common.overlays
|
||||
];
|
||||
}
|
||||
./home
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
isNixOS ? true,
|
||||
...
|
||||
}: {
|
||||
programs.firefox = {
|
||||
@@ -10,7 +9,7 @@
|
||||
};
|
||||
|
||||
programs.chromium = {
|
||||
enable = pkgs.stdenv.isLinux && isNixOS;
|
||||
enable = pkgs.stdenv.isLinux;
|
||||
package = pkgs.ungoogled-chromium.override {
|
||||
enableWideVine = true;
|
||||
commandLineArgs = [
|
||||
@@ -41,14 +40,37 @@
|
||||
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
|
||||
sha256 = "sha256:0pdh1v0vx1d5vnl1zh7nbk6j1fh4k4hhwp1ljs203icn306lahsn";
|
||||
# sha256 = lib.fakeSha256;
|
||||
version = "1.64.0";
|
||||
version = "1.67.0";
|
||||
})
|
||||
(createChromiumExtension {
|
||||
# bitwarden
|
||||
id = "nngceckbapebfimnlniiiahkandclblb";
|
||||
sha256 = "sha256:0jxk3cqmgd5qj8hnw7s0k5s4bfrcmr0w0rckp3x0bmng07azw4gi";
|
||||
# sha256 = lib.fakeSha256;
|
||||
version = "2025.5.0";
|
||||
version = "2025.10.0";
|
||||
})
|
||||
(createChromiumExtension {
|
||||
# react dev tools
|
||||
id = "fmkadmapgofadopljbjfkapdkoienihi";
|
||||
sha256 = "sha256:01vy0x7hdkj4g3m2l4kw5rwldhhpkcxmd2miy5rj2dzxdnbchw2z";
|
||||
version = "7.0.1";
|
||||
})
|
||||
(createChromiumExtension {
|
||||
# wappalyzer
|
||||
id = "gppongmhjkpfnbhagpmjfkannfbllamg";
|
||||
sha256 = "sha256:1mi1wpm714r8yp0zh0yg6kccnld36rj4xb8j4y0c18y9176vc6wx";
|
||||
version = "6.10.86";
|
||||
})
|
||||
(createChromiumExtension {
|
||||
# obsidian web clipper
|
||||
id = "cnjifjpddelmedmihgijeibhnjfabmlf";
|
||||
sha256 = "sha256:0bp6g63g9hk2xbq054lpf5hzwmn73jzh3hswyjfp9r7yqj83mzgy";
|
||||
version = "0.12.0";
|
||||
})
|
||||
(createChromiumExtension {
|
||||
# dark reader
|
||||
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";
|
||||
sha256 = "sha256:06a9dz589i1da519kivzp7bljksl2xxsd151y7ww0hx28jd1694b";
|
||||
version = "4.9.113";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,37 +1,44 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, userName
|
||||
, isNixOS ? true
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
# TODO: Have a file structure that holds all the configuration files that can't be configured by Nix (or I haven't found the time to do so)
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
userName,
|
||||
userEmail,
|
||||
ghostty,
|
||||
...
|
||||
}: let
|
||||
# Have a file sturcture that holds all the configuration files that can't be configured by Nix
|
||||
# or maybe I'm too lazy to do anything about it? I dunno
|
||||
dirs = {
|
||||
defaults = ../defaults;
|
||||
};
|
||||
in
|
||||
{
|
||||
_module.args = {
|
||||
inherit dirs;
|
||||
};
|
||||
|
||||
in {
|
||||
# Import sub modules
|
||||
imports = [
|
||||
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
|
||||
./atuin.nix
|
||||
./shell.nix
|
||||
./packages
|
||||
./git.nix
|
||||
./starship.nix
|
||||
./eza.nix
|
||||
./neovim.nix
|
||||
./direnv.nix
|
||||
./sway.nix
|
||||
./terminal.nix
|
||||
./browser.nix
|
||||
./zellij.nix
|
||||
./bat.nix
|
||||
./lazygit.nix
|
||||
];
|
||||
|
||||
home = lib.mkMerge [
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the
|
||||
# paths it should manage.
|
||||
home = {
|
||||
username = userName;
|
||||
homeDirectory =
|
||||
if pkgs.stdenv.isDarwin
|
||||
then "/Users/${userName}"
|
||||
else "/home/${userName}";
|
||||
|
||||
stateVersion = "24.11";
|
||||
}
|
||||
|
||||
(lib.mkIf isNixOS {
|
||||
sessionVariables = {
|
||||
XDG_CURRENT_DESKTOP = "sway";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
@@ -42,17 +49,16 @@ in
|
||||
XDG_STATE_HOME = "$HOME/.local/state";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf pkgs.stdenv.isLinux {
|
||||
pointerCursor = {
|
||||
pointerCursor = lib.mkIf pkgs.stdenv.isLinux {
|
||||
gtk.enable = true;
|
||||
package = pkgs.catppuccin-cursors.mochaDark;
|
||||
name = "catppuccin-mocha-dark-cursors";
|
||||
size = 22;
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
stateVersion = "24.11";
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
32
home/k9s.nix
32
home/k9s.nix
@@ -1,32 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
programs.k9s = {
|
||||
enable = true;
|
||||
package = pkgs.k9s;
|
||||
settings.k9s = {
|
||||
refreshRate = "2s";
|
||||
liveViewAutoRefresh = false;
|
||||
apiServerTimeout = "30s";
|
||||
maxConnRetry = 5;
|
||||
readOnly = true;
|
||||
noExitOnCtrlC = false;
|
||||
portForwardAddress = "localhost";
|
||||
skipLatestRevCheck = false;
|
||||
|
||||
skin = {
|
||||
catppuccin-mocha = ../defaults/k9s/catppuccin-mocha.yaml;
|
||||
};
|
||||
|
||||
ui = {
|
||||
skin = "catppuccin-mocha";
|
||||
enableMouse = true;
|
||||
headless = false;
|
||||
logoless = true;
|
||||
crumbsless = false;
|
||||
splashless = true;
|
||||
reactive = false;
|
||||
noIcons = false;
|
||||
defaultsToFullscreen = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{ pkgs, lib, ... }:
|
||||
with pkgs;
|
||||
let
|
||||
plugins = [
|
||||
"krew"
|
||||
"oidc-login"
|
||||
];
|
||||
in {
|
||||
home.activation.krew = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
${lib.concatMapStringsSep "\n" (plugin: ''
|
||||
$DRY_RUN_CMD ${krew}/bin/krew install ${plugin} || true
|
||||
'') plugins}
|
||||
'';
|
||||
}
|
||||
@@ -2,19 +2,9 @@
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../atuin.nix
|
||||
../shell.nix
|
||||
../git.nix
|
||||
../starship.nix
|
||||
../eza.nix
|
||||
../neovim.nix
|
||||
../bat.nix
|
||||
];
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
yazi # terminal file manager
|
||||
|
||||
# archives
|
||||
zip
|
||||
xz
|
||||
@@ -22,22 +12,39 @@
|
||||
p7zip
|
||||
|
||||
# utils
|
||||
yazi
|
||||
tmux
|
||||
bottom
|
||||
ripgrep
|
||||
jq
|
||||
yq-go
|
||||
fzf
|
||||
fh
|
||||
aria2
|
||||
gnupg
|
||||
yt-dlp
|
||||
obsidian
|
||||
vscode
|
||||
weechat
|
||||
inetutils
|
||||
|
||||
# misc
|
||||
cowsay
|
||||
file
|
||||
which
|
||||
tree
|
||||
gnutar
|
||||
gnupg
|
||||
zoxide
|
||||
babelfish
|
||||
|
||||
# language-specific package managers
|
||||
nodejs
|
||||
cargo
|
||||
python3
|
||||
|
||||
# nix specific stuff
|
||||
nixd
|
||||
deadnix
|
||||
alejandra
|
||||
statix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
{ lib, pkgs, ... }:
|
||||
lib.mkIf pkgs.stdenv.isDarwin {
|
||||
home.packages = with pkgs; [
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.mkIf pkgs.stdenv.isDarwin (with pkgs; [
|
||||
discord
|
||||
ollama
|
||||
];
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ lib, role ? "workstation", ... }:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./common.nix
|
||||
./darwin.nix
|
||||
./linux.nix
|
||||
]
|
||||
++ lib.optional (role == "workstation") ./workstation.nix
|
||||
++ lib.optional (role == "server") ./server.nix;
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
{ lib, pkgs, isNixOS ? true, ... }:
|
||||
lib.mkIf pkgs.stdenv.isLinux {
|
||||
home.packages = with pkgs; [
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [
|
||||
imv
|
||||
xdg-utils
|
||||
] ++ lib.optionals isNixOS [
|
||||
betterdiscordctl
|
||||
vesktop
|
||||
xdg-utils
|
||||
mcrcon
|
||||
xfce.thunar
|
||||
pavucontrol
|
||||
godot
|
||||
aseprite
|
||||
zathura
|
||||
gpu-screen-recorder
|
||||
gpu-screen-recorder-gtk
|
||||
];
|
||||
# ungoogled-chromium
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{ pkgs, ... }: {
|
||||
home.packages = [
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
isNixOS ? true,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
../terminal.nix
|
||||
../browser.nix
|
||||
../zellij.nix
|
||||
../lazygit.nix
|
||||
../k9s.nix
|
||||
../krew.nix
|
||||
../direnv.nix
|
||||
] ++ lib.optional isNixOS ../sway.nix;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
fh
|
||||
kubectl # kube config is deliberately not included
|
||||
kubectx
|
||||
obsidian
|
||||
vscode
|
||||
yt-dlp
|
||||
weechat
|
||||
nodejs
|
||||
cargo
|
||||
python3
|
||||
nixd
|
||||
deadnix
|
||||
alejandra
|
||||
statix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
{pkgs, lib, ...}: {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellInit = ''
|
||||
if test -d $HOME/.krew/bin
|
||||
set -gx PATH $HOME/.krew/bin $PATH
|
||||
end
|
||||
'';
|
||||
# initExtra = ''
|
||||
# export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HOME/go/bin"
|
||||
# '';
|
||||
|
||||
shellAliases = {
|
||||
# ls aliases
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }: {
|
||||
{ lib, pkgs, ghostty, ... }: {
|
||||
programs.alacritty = {
|
||||
enable = pkgs.stdenv.isLinux;
|
||||
settings = {
|
||||
@@ -103,4 +103,9 @@
|
||||
programs.kitty = {
|
||||
enable = false; # TODO: to enable later
|
||||
};
|
||||
|
||||
home.packages = if pkgs.stdenv.isLinux then
|
||||
[ ghostty.packages.${pkgs.system}.default ]
|
||||
else
|
||||
[ ];
|
||||
}
|
||||
|
||||
@@ -2,10 +2,13 @@
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
aagl,
|
||||
...
|
||||
}: let
|
||||
cfg = config.gaming;
|
||||
in {
|
||||
imports = [ aagl.nixosModules.default ];
|
||||
|
||||
options.gaming = {
|
||||
steam = {
|
||||
enable = lib.mkEnableOption "Steam gaming platform";
|
||||
@@ -62,6 +65,14 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
vkbasalt = {
|
||||
enable = lib.mkEnableOption "vkBasalt/ReShade/GShade post processing shaders";
|
||||
};
|
||||
|
||||
mangohud = {
|
||||
enable = lib.mkEnableOption "OpenGL/Vulkan overlay tool shown in games presenting FPS, CPU/GPU/memory utilization, load, etc.";
|
||||
};
|
||||
|
||||
lutris = {
|
||||
enable = lib.mkEnableOption "Lutris game manager and launcher";
|
||||
package = lib.mkOption {
|
||||
@@ -108,9 +119,47 @@ in {
|
||||
ffxiv = {
|
||||
enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher";
|
||||
};
|
||||
|
||||
# TODO: when aagl gets it's unified launcher all finished/in a stable state, transition to that launcher
|
||||
aagl = {
|
||||
anime-game-launcher = {
|
||||
enable = lib.mkEnableOption "Genshin Impact launcher (legacy)";
|
||||
};
|
||||
|
||||
config = {
|
||||
honkers-railway-launcher = {
|
||||
enable = lib.mkEnableOption "Honkai: Star Rail launcher";
|
||||
};
|
||||
|
||||
honkers-launcher = {
|
||||
enable = lib.mkEnableOption "Honkai: Impact 3rd launcher";
|
||||
};
|
||||
|
||||
wavey-launcher = {
|
||||
enable = lib.mkEnableOption "Wuthering Waves launcher";
|
||||
};
|
||||
|
||||
sleepy-launcher = {
|
||||
enable = lib.mkEnableOption "Zenless Zone Zero (ZZZ) launcher";
|
||||
};
|
||||
};
|
||||
|
||||
emulators = {
|
||||
enable = lib.mkEnableOption "Emulation";
|
||||
|
||||
n64 = {
|
||||
enable = lib.mkEnableOption "Nintendo 64 (N64) emulator";
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.mupen64plus;
|
||||
description = "Package used for the Nintendo 64 (N64) emulator";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
agl = cfg.aagl;
|
||||
in {
|
||||
programs.steam = lib.mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = cfg.steam.firewall.remotePlay;
|
||||
@@ -139,6 +188,26 @@ in {
|
||||
];
|
||||
};
|
||||
|
||||
programs.anime-game-launcher = lib.mkIf agl.anime-game-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.honkers-railway-launcher = lib.mkIf agl.honkers-railway-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.honkers-launcher = lib.mkIf agl.honkers-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.wavey-launcher = lib.mkIf agl.wavey-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.sleepy-launcher = lib.mkIf agl.sleepy-launcher.enable {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
(lib.optionals cfg.lutris.enable (
|
||||
[cfg.lutris.package] ++
|
||||
@@ -154,6 +223,22 @@ in {
|
||||
cfg.lutris.extraPackages
|
||||
)) ++
|
||||
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
|
||||
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]);
|
||||
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher pkgs.fflogs]) ++
|
||||
(lib.optionals cfg.vkbasalt.enable [pkgs.vkbasalt pkgs.vkBasalt pkgs.vkbasalt-cli]) ++
|
||||
(lib.optionals cfg.mangohud.enable [pkgs.mangohud]) ++
|
||||
(lib.optionals (cfg.vkbasalt.enable || cfg.mangohud.enable) [pkgs.goverlay pkgs.mesa-demos pkgs.vulkan-tools]) ++
|
||||
(lib.optionals cfg.emulators.enable (
|
||||
lib.optionals cfg.emulators.n64.enable [pkgs.mupen64plus]
|
||||
));
|
||||
|
||||
nix.settings = let
|
||||
inherit agl;
|
||||
in (lib.mkIf
|
||||
(agl.anime-game-launcher.enable || agl.honkers-railway-laucher.enable || agl.honkers-launcher.enable || agl.wavey-launcher.enable || agl.sleepy-launcher.enable)
|
||||
{
|
||||
substituters = [ "https://ezkea.cachix.org" ];
|
||||
trusted-public-keys = [ "ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI=" ];
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
final: prev: let
|
||||
# Use latest rust from overlay which should work on non-NixOS
|
||||
rust_latest = prev.rust-bin.stable.latest.default;
|
||||
rust_1_90_0 = prev.rust-bin.stable."1.90.0".default;
|
||||
myRustPlatform = prev.makeRustPlatform {
|
||||
cargo = rust_latest;
|
||||
rustc = rust_latest;
|
||||
cargo = rust_1_90_0;
|
||||
rustc = rust_1_90_0;
|
||||
};
|
||||
in {
|
||||
lazygitLatest = prev.lazygit.overrideAttrs (_: rec {
|
||||
@@ -48,18 +47,4 @@ in {
|
||||
mkdir -p "$XDG_CONFIG_HOME" "$XDG_DATA_HOME" "$XDG_STATE_HOME"
|
||||
'';
|
||||
});
|
||||
|
||||
# k9sLatest = prev.k9s.overrideAttrs (oldAttrs: rec {
|
||||
# version = "0.30.16";
|
||||
# src = prev.fetchFromGitHub {
|
||||
# owner = "derailed";
|
||||
# repo = "k9s";
|
||||
# rev = "v${version}";
|
||||
# hash = "sha256-1z6r6v3n1p6vd2q6n4pl5q3f7q3q7q1p7j5j1k3l4m5n6o7p8q9r";
|
||||
# };
|
||||
# ldflags = [
|
||||
# "-X github.com/derailed/k9s/version.Version=${version}"
|
||||
# "-X github.com/derailed/k9s/version.BuildSource=nix"
|
||||
# ];
|
||||
# });
|
||||
}
|
||||
|
||||
@@ -62,9 +62,9 @@ in {
|
||||
|
||||
(mkIf (cfg.gpuVendor == "amd") {
|
||||
services.xserver.videoDrivers = ["amdgpu"];
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
amdvlk
|
||||
];
|
||||
# hardware.graphics.extraPackages = with pkgs; [
|
||||
# amdvlk
|
||||
# ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
radeontop
|
||||
];
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
userName,
|
||||
aagl,
|
||||
...
|
||||
}: let
|
||||
flatpakPackages = [
|
||||
@@ -18,7 +18,7 @@
|
||||
in {
|
||||
imports = [
|
||||
(import ../../apps/flatpak.nix {
|
||||
inherit lib pkgs flatpakPackages userName;
|
||||
inherit lib pkgs flatpakPackages userName aagl;
|
||||
})
|
||||
../../apps/gaming.nix
|
||||
../../apps/appimage.nix
|
||||
@@ -89,8 +89,11 @@ in {
|
||||
localNetworkGameTransfers = true;
|
||||
};
|
||||
};
|
||||
vkbasalt.enable = true;
|
||||
gamemode.enable = true;
|
||||
gamescope.enable = true;
|
||||
mangohud.enable = true;
|
||||
|
||||
lutris = {
|
||||
enable = true;
|
||||
wine = {
|
||||
@@ -100,14 +103,18 @@ in {
|
||||
compatibility = {
|
||||
protonSupport = true;
|
||||
};
|
||||
extraPackages = with pkgs; [
|
||||
gamemode
|
||||
mangohud
|
||||
];
|
||||
};
|
||||
|
||||
emulators = {
|
||||
enable = true;
|
||||
n64 = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
ffxiv.enable = true;
|
||||
minecraft.enable = true;
|
||||
aagl.anime-game-launcher.enable = true;
|
||||
};
|
||||
|
||||
# Power management (see ../../pwrMgmt/default.nix)
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
{...}: {
|
||||
# TODO: refactor into module
|
||||
{ pkgs, ...}: {
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
helvum
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user