Compare commits

...

111 Commits

Author SHA1 Message Date
d1d97fdac9 darwin fixed ghostty, homebrew, vscode 2025-08-20 12:14:14 -07:00
f807d29276 darwin adding fonts 2025-08-20 08:18:52 -07:00
20c78889d3 darwin fixes 2025-08-20 00:18:31 -07:00
418e434610 darwin fixes 2025-08-20 00:00:58 -07:00
17ffc5ae8f darwin fixes 2025-08-19 23:54:11 -07:00
bb6fbcb104 darwin fixes 2025-08-19 23:53:30 -07:00
fb6a6bd22d darwin fixes 2025-08-19 23:39:42 -07:00
9535c156d8 darwin fixes 2025-08-19 23:23:47 -07:00
4a8b0c065a darwin fixes 2025-08-19 23:03:46 -07:00
3227655e16 darwin fixes 2025-08-19 22:40:28 -07:00
433610c00d darwin fixes 2025-08-19 22:38:33 -07:00
95b0bba0e9 darwin fixes 2025-08-19 22:31:36 -07:00
6f2169c9fc darwin fixes 2025-08-19 22:26:40 -07:00
4f29ea3ac6 darwin fixes 2025-08-19 22:20:34 -07:00
d50ebe3ba0 darwin fixes 2025-08-19 22:19:02 -07:00
8f625f1906 darwin fixes 2025-08-19 22:18:15 -07:00
fb68a73b3d darwin fixes 2025-08-19 22:10:23 -07:00
8928d49418 darwin fixes 2025-08-19 21:56:05 -07:00
3285043183 darwin fixes 2025-08-19 20:39:31 -07:00
e9b4e94faa darwin fixes 2025-08-19 19:11:32 -07:00
2d17d4b3d5 darwin fixes 2025-08-19 19:09:34 -07:00
f180f098c3 darwin fixes 2025-08-19 19:07:48 -07:00
3f1bbc04a5 darwin fixes 2025-08-19 18:35:31 -07:00
722ae3f786 darwin fixes 2025-08-19 18:34:15 -07:00
234858f28b darwin fixes 2025-08-19 18:12:07 -07:00
efe2c7cc0a darwin fixes 2025-08-19 18:08:45 -07:00
e4aa64145c darwin fixes 2025-08-19 13:36:36 -07:00
71e0a0240e darwin fixes 2025-08-19 13:35:42 -07:00
94fb9894d8 darwin fixes 2025-08-19 13:25:30 -07:00
56e52e1d29 darwin fixes 2025-08-19 13:00:31 -07:00
eb9c5893ea darwin fixes 2025-08-19 11:55:26 -07:00
c9526fc453 darwin fixes 2025-08-19 11:52:32 -07:00
cf30a00c81 darwin fixes 2025-08-19 11:47:30 -07:00
9e1e48c406 darwin fixes 2025-08-19 11:45:38 -07:00
172dc90e58 darwin fixes 2025-08-19 11:45:10 -07:00
4617841efd darwin fixes 2025-08-19 11:44:32 -07:00
eaf9645e85 darwin fixes 2025-08-19 11:43:37 -07:00
7b01f7af91 darwin fixes 2025-08-19 11:41:00 -07:00
203302d0ea darwin fixes 2025-08-19 11:36:29 -07:00
0e20523cf1 darwin fixes 2025-08-19 11:34:43 -07:00
fe22e065ba darwin fixes 2025-08-19 01:37:25 -07:00
7e3e379ca5 darwin fixes 2025-08-19 01:03:01 -07:00
789901c5a9 darwin fixes 2025-08-19 00:57:06 -07:00
9e40d17e6d darwin fixes 2025-08-19 00:55:01 -07:00
6c1ce398c5 darwin fixes 2025-08-19 00:53:45 -07:00
6168a3338a darwin fixes 2025-08-19 00:52:50 -07:00
b1f97c096a darwin fixes 2025-08-19 00:51:39 -07:00
d20d501788 darwin fixes 2025-08-19 00:49:58 -07:00
3cffe88036 darwin fixes 2025-08-19 00:44:01 -07:00
42715dd509 darwin fixes 2025-08-19 00:34:46 -07:00
dc18dfdb22 darwin fixes 2025-08-19 00:23:07 -07:00
095d65a285 darwin fixes 2025-08-19 00:15:24 -07:00
bb130a8d7c darwin fixes 2025-08-19 00:13:21 -07:00
251fac1616 darwin fixes 2025-08-18 23:47:29 -07:00
fa8502004a darwin fixes 2025-08-18 23:29:00 -07:00
8401e7c9da darwin fixes 2025-08-18 23:28:30 -07:00
df349613c8 darwin fixes 2025-08-18 23:27:06 -07:00
7b37670baf darwin fixes 2025-08-18 23:26:41 -07:00
c477f001ed darwin fixes 2025-08-18 23:26:12 -07:00
4e41129ac3 darwin fixes 2025-08-18 23:25:39 -07:00
d05cabc53a darwin fixes 2025-08-18 23:24:35 -07:00
10c6ff1c62 darwin fixes 2025-08-18 23:24:06 -07:00
7e96025555 darwin fixes 2025-08-18 23:23:43 -07:00
ec717948bd darwin fixes 2025-08-18 23:22:49 -07:00
20a9354349 darwin fixes 2025-08-18 23:21:57 -07:00
fe0f530b3a switching nix-darwin to use nixpkgs-unstable 2025-08-18 23:15:49 -07:00
cfad4af862 added eva-02 and darwin compatibility 2025-08-18 22:41:24 -07:00
c9206fe095 added sqlmap, jq, and other programs 2025-08-18 19:34:39 -07:00
9913fbbe27 fixed ghostty and added base-experimental hyprland 2025-08-11 01:01:41 -07:00
63c98366e7 fixed home-manager flake 2025-08-06 13:26:21 -07:00
1213fd6343 more yubikey support 2025-08-06 11:56:46 -07:00
b1a349b2f8 updated flakes, added mcfly, disabled opencode due to failed build 2025-08-06 03:03:22 -07:00
eb1d846c11 adding age pkgs 2025-08-04 11:25:49 -07:00
6323c5eaca adding age pkgs 2025-08-04 11:14:22 -07:00
e9769fd23f readded buildbox configs for git 2025-07-30 02:37:18 -07:00
e8508fbc73 finalized buildbox integration 2025-07-30 02:27:44 -07:00
3df4913796 integrated buildbox 2025-07-30 01:31:18 -07:00
2fac0e3705 abstracted hostnames so that each machine can now use seperate home-manager configs 2025-07-29 23:26:03 -07:00
8e5e8f9a08 reorganized machine configs as hosts 2025-07-29 21:53:16 -07:00
7059b2162c updates to cyber packages and other small changes 2025-07-08 23:24:39 -04:00
7b36212651 added a bunch of cyber tools 2025-06-30 12:17:56 -07:00
5cca008a30 added some new programs and commands, removed tailwindcss nixvim plugin do to long compile time 2025-06-30 11:27:18 -07:00
03583ad819 cleanup and more swap for eva-01 2025-05-26 18:00:33 -07:00
5c904cdd30 fixed nerd-fonts for eva-03 and temp removed rofi 2025-05-26 15:45:48 -07:00
02eaaae4b1 updated to 25.05 2025-05-26 10:34:13 -07:00
c2f99bc5ab added 'stable' vllm 2025-05-21 19:13:30 -07:00
0e54ecfac4 updates and added unstable for packages in home manager 2025-05-21 18:50:50 -07:00
4168b42081 added rofi 2025-05-05 02:04:51 -07:00
06cc1709f1 updated command structure and nixvim 2025-05-05 01:00:46 -07:00
d979f7daec fixed hostnames and added unstable config 2025-04-22 17:22:04 -07:00
f1187ceba7 boot loader configs 2025-04-18 20:18:33 -07:00
bd7415ce9c added eva-03 2025-04-17 19:28:18 -07:00
4793017722 flake update 2025-04-09 12:05:56 -07:00
d93dd8a14e add ssh pub key 2025-04-09 02:19:12 -07:00
7c1253eeb5 Overall updates, fixed fastfetch path for pfp 2025-04-07 16:58:03 -07:00
fa0d58aa6f added nixos-hardware flake for thinkpad x1 nano gen1 2025-04-01 15:18:55 -07:00
52f599371c moved configuration and hardware .nix to eva-01 2025-04-01 11:19:36 -07:00
5f3a231a92 moved cli stuff to commands in home-manager 2025-04-01 10:45:55 -07:00
8b8b4f9201 moved apps to programs in home-manager 2025-04-01 10:38:41 -07:00
2ac729b234 reorganization 2025-04-01 02:59:45 -07:00
740d1f02df fixed git signing 2025-03-18 17:37:43 -07:00
5989f6c06d update 2025-03-18 17:19:59 -07:00
040d270eaf update 2025-03-17 03:35:29 -07:00
64e67a7e2e removed depricated ghostty flake 2025-03-04 14:26:01 -08:00
229850cc9e Flake update 2025-02-26 15:23:17 -08:00
a986cafdd9 fixed plocate (must add group user), and fixed time on starship 2025-02-16 01:26:47 -08:00
014c19f30c thefuck alias working 2025-02-13 15:36:02 -08:00
78eaad45a5 moved starship to a seperate config file 2025-02-12 22:20:35 -08:00
01dd869d11 added ghostty via home-manager 2025-02-12 21:13:43 -08:00
825752b89f ssh server configured 2025-02-03 16:31:34 -08:00
593390725d Added more packages 2025-01-16 17:44:00 -08:00
45 changed files with 3074 additions and 851 deletions

328
flake.lock generated
View File

@@ -1,56 +1,5 @@
{
"nodes": {
"devshell": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735644329,
"narHash": "sha256-tO3HrHriyLvipc4xr+Ewtdlo7wM1OjXNjlWRgmM7peY=",
"owner": "numtide",
"repo": "devshell",
"rev": "f7795ede5b02664b57035b3b757876703e2c3eac",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
@@ -59,11 +8,11 @@
]
},
"locked": {
"lastModified": 1735774679,
"narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=",
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"type": "github"
},
"original": {
@@ -76,24 +25,6 @@
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
@@ -108,72 +39,21 @@
"type": "github"
}
},
"ghostty": {
"flake-utils_2": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig"
"systems": "systems_3"
},
"locked": {
"lastModified": 1736005074,
"narHash": "sha256-6W7Cg4Lf0/gT4r/Bloj9lwxKw+Txti3Bw1ybrEpn0CA=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "8f5f432ab61fa73b77cb61239c0cff34250f77bb",
"lastModified": 1681202837,
"narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "cfacdce06f30d2b68473a46042957675eebb3401",
"type": "github"
},
"original": {
"owner": "ghostty-org",
"repo": "ghostty",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"nixvim",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nixvim",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
@@ -184,38 +64,36 @@
]
},
"locked": {
"lastModified": 1735344290,
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
"lastModified": 1753592768,
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "release-25.05",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"home-manager-unstable": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1735344290,
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
"lastModified": 1755625756,
"narHash": "sha256-t57ayMEdV9g1aCfHzoQjHj1Fh3LDeyblceADm2hsLHM=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
"rev": "dd026d86420781e84d0732f2fa28e1c051117b59",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
@@ -234,16 +112,16 @@
]
},
"locked": {
"lastModified": 1729958008,
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
"lastModified": 1748294338,
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.6",
"ref": "v0.0.8",
"repo": "ixx",
"type": "github"
}
@@ -251,104 +129,112 @@
"nix-darwin": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1735956190,
"narHash": "sha256-svzx3yVXD5tbBJZCn3Lt1RriH8GHo6CyVUPTHejf7sU=",
"owner": "lnl7",
"lastModified": 1755275010,
"narHash": "sha256-lEApCoWUEWh0Ifc3k1JdVjpMtFFXeL2gG1qvBnoRc2I=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "3feaf376d75d3d58ebf7e9a4f584d00628548ad9",
"rev": "7220b01d679e93ede8d7b25d6f392855b81dd475",
"type": "github"
},
"original": {
"owner": "lnl7",
"owner": "nix-darwin",
"ref": "master",
"repo": "nix-darwin",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1754564048,
"narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1735922141,
"narHash": "sha256-vk0xwGZSlvZ/596yxOtsk4gxsIx2VemzdjiU8zhjgWw=",
"lastModified": 1754937576,
"narHash": "sha256-3sWA5WJybUE16kIMZ3+uxcxKZY/JRR4DFBqLdSLBo7w=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d29ab98cd4a70a387b8ceea3e930b3340d41ac5a",
"rev": "ddae11e58c0c345bf66efbddbf2192ed0e58f896",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1733423277,
"narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e36963a147267afc055f7cf65225958633e536bf",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.11",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1733229606,
"narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
"lastModified": 1755027561,
"narHash": "sha256-IVft239Bc8p8Dtvf7UAACMG5P3ZV+3/aO28gXpGtMXI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
"rev": "005433b926e16227259a1843015b5b2b7f7d1fc3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1682134069,
"narHash": "sha256-TnI/ZXSmRxQDt2sjRYK/8j8iha4B4zP2cnQCZZ3vp7k=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "fd901ef4bf93499374c5af385b2943f5801c0833",
"type": "github"
},
"original": {
"id": "nixpkgs",
"type": "indirect"
}
},
"nixvim": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"home-manager": "home-manager_2",
"nix-darwin": "nix-darwin",
"nixpkgs": [
"nixpkgs"
"nixpkgs-unstable"
],
"nuschtosSearch": "nuschtosSearch",
"treefmt-nix": "treefmt-nix"
"systems": "systems_2"
},
"locked": {
"lastModified": 1735993984,
"narHash": "sha256-Syew+5yuzysUr07SrGD+GRfZjE11h36TSYbxzEHYyyc=",
"lastModified": 1755095763,
"narHash": "sha256-cFwtMaONA4uKYk/rBrmFvIAQieZxZytoprzIblTn1HA=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "6bd1c7c5927fa9fdfdfd68f5aa772e6a62b9d779",
"rev": "ecc7880e00a2a735074243d8a664a931d73beace",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "nixos-24.11",
"repo": "nixvim",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
@@ -356,11 +242,11 @@
]
},
"locked": {
"lastModified": 1735854821,
"narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
"lastModified": 1754301638,
"narHash": "sha256-aRgzcPDd2axHFOuMlPLuzmDptUM2JU8mUL3jfgbBeyc=",
"owner": "NuschtOS",
"repo": "search",
"rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
"rev": "a60091045273484c040a91f5c229ba298f8ecc27",
"type": "github"
},
"original": {
@@ -371,10 +257,14 @@
},
"root": {
"inputs": {
"ghostty": "ghostty",
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"nix-darwin": "nix-darwin",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixvim": "nixvim"
"nixpkgs-unstable": "nixpkgs-unstable",
"nixvim": "nixvim",
"vscode-server": "vscode-server"
}
},
"systems": {
@@ -407,49 +297,37 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"systems_3": {
"locked": {
"lastModified": 1735905407,
"narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"zig": {
"vscode-server": {
"inputs": {
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"lastModified": 1753541826,
"narHash": "sha256-foGgZu8+bCNIGeuDqQ84jNbmKZpd+JvnrL2WlyU4tuU=",
"owner": "nix-community",
"repo": "nixos-vscode-server",
"rev": "6d5f074e4811d143d44169ba4af09b20ddb6937d",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"owner": "nix-community",
"repo": "nixos-vscode-server",
"type": "github"
}
}

View File

@@ -2,36 +2,85 @@
description = "Nixos Config Flake";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "github:nix-community/home-manager/";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11";
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
inputs.nixpkgs.follows = "nixpkgs";
};
ghostty = {
url = "github:ghostty-org/ghostty";
vscode-server = {
url = "github:nix-community/nixos-vscode-server";
};
};
outputs = { self, nixpkgs, home-manager, nixvim, ghostty, ... }@inputs: {
outputs =
{ self,
nixpkgs,
nixpkgs-unstable,
nix-darwin,
home-manager,
home-manager-unstable,
nixvim,
nixos-hardware,
vscode-server,
...
}@inputs:
let
system = "x86_64-linux";
configPath = "/etc/nixos";
pkgs-unstable = import nixpkgs-unstable {
system = system;
config.allowUnfree = true;
};
in
{
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
system = "x86_64-linux";
buildbox = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "buildbox";};
system = system;
modules = [
./configuration.nix
./hosts/buildbox/configuration.nix
inputs.home-manager.nixosModules.default
{
environment.systemPackages = [
ghostty.packages.x86_64-linux.default
];
}
vscode-server.nixosModules.default({ config, pkgs, ... }: {services.vscode-server.enable = true;})
];
};
eva-01 = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-01";};
system = system;
modules = [
./hosts/eva-01/configuration.nix
inputs.home-manager.nixosModules.default
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano-gen1
];
};
};
darwinConfigurations = {
eva-02 = nix-darwin.lib.darwinSystem{
specialArgs = {inherit inputs configPath;} // {hostname = "eva-02";};
system = "aarch64-darwin";
modules = [
./hosts/eva-02/configuration.nix
inputs.home-manager-unstable.darwinModules.home-manager
];
};
};

View File

@@ -1,175 +0,0 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
curl
dust
tldr
tailscale
docker
nix-prefetch-github
];
programs = {
fastfetch.enable = true;
fzf.enable = true;
bat.enable = true;
btop.enable = true;
kitty.enable = true;
yazi.enable = true;
starship.enable = true;
lazygit.enable = true;
#thefuck.enable = true;
#thefuck.enableZshIntegration = true;
git = {
enable = true;
userName = "rogueking";
userEmail = "miguel@muniz.org";
};
eza = {
enable = true;
icons = "auto";
enableZshIntegration = true;
extraOptions = [
"--group-directories-first"
];
};
ssh = {
enable = true;
matchBlocks = {
global = {
host = "*";
setEnv = {
TERM = "xterm-256color";
};
};
};
# Add IdentityAgent configuration here
extraConfig = ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
shellAliases = {
ls = "eza --color=auto";
grep = "grep --color=auto";
ll = "eza -la";
lg = "lazygit";
fk = "fuck";
lt = "eza --tree";
cd = "z";
open = "xdg-open";
rebuild = "sudo nixos-rebuild switch --flake /etc/nixos#default";
};
initExtra = ''
fastfetch
'';
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
oh-my-zsh = {
enable = true;
#plugins = ["thefuck"];
};
};
starship = {
settings = {
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"direnv"
"$status"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
};
};
};
};
}

View File

@@ -0,0 +1,142 @@
{
pkgs,
lib,
hostname,
...
}:
{
imports = [
./direnv.nix
./eza.nix
./fastfetch/fastfetch.nix
./git.nix
./newsboat.nix
./nixvim/default.nix
./starship.nix
./tmux.nix
./zsh.nix
];
home.packages = with pkgs; [
age
age-plugin-1p
age-plugin-yubikey
agedu
bat
btop
cbonsai
curl
dig
dust
fd
ffmpeg-full
fzf
gemini-cli
git-filter-repo
jq
kitty
lazygit
nmap
ocamlPackages.utop
# opencode
openconnect
openssl
putty
ripgrep
tailscale
termusic
timg
tldr
trippy
trivy
wget
wireguard-tools
yazi
yt-dlp
yubikey-manager
]
++ lib.optionals (hostname == "eva-01") [
# cli
parted
traceroute
# cyber
amass
bettercap
bully
burpsuite
cowpatty
crunch
dirbuster
dnschef
ffuf
hash-identifier
hashcat
hashcat-utils
hping
macchanger
medusa
netdiscover
netexec
pwnat
pwncat
reaverwps-t6x
recon-ng
rustscan
sqlmap
steghide
thc-hydra
]
++ lib.optionals (hostname == "eva-02") [
]
++ lib.optionals (hostname == "eva-03") [
# cli
parted
traceroute
]
++ lib.optionals (hostname == "buildbox") [
# cli
parted
traceroute
];
programs = {
ssh = {
enable = true;
matchBlocks = {
global = {
host = "*";
setEnv = {
TERM = "xterm-256color";
};
};
} // lib.optionalAttrs (hostname == "buildbox") {
"192.168.8.109" = {
identityFile = "~/.ssh/gitea-buildbox";
user = "gitea";
};
"github.com" = {
identityFile = "~/.ssh/github-buildbox";
user = "git";
};
};
extraConfig = if hostname == "eva-02"
then ''
IdentityAgent "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
IdentityAgent ~/.1password/agent.sock
'';
};
zoxide = {
enable = true;
enableZshIntegration = true;
};
};
}

View File

@@ -0,0 +1,12 @@
{
programs = {
eza = {
enable = true;
icons = "auto";
enableZshIntegration = true;
extraOptions = [
"--group-directories-first"
];
};
};
}

View File

@@ -4,7 +4,7 @@
enable = true;
settings = {
logo = {
source = "/etc/nixos/home-manager/fastfetch/assets/evangelion-mecha-neon-genesis-desktop-wallpaper-cover.jpg";
source = "/etc/nixos/home-manager/commands/fastfetch/assets/evangelion-mecha-neon-genesis-desktop-wallpaper-cover.jpg";
type = "kitty";
height = 20;
width = 60;

View File

@@ -0,0 +1,39 @@
{
hostname,
lib,
...
}:
{
programs = {
git = {
enable = true;
userName = "rogueking";
userEmail = "miguel@muniz.org";
lfs.enable = true;
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" ])) {
signing = {
signByDefault = true;
signer = if hostname == "eva-02"
then
"/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
else
"/opt/1Password/op-ssh-sign";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHI7zcxrwwg4VqpGduhPX31aslzXwkRXiM32+8K+aIMu";
};
extraConfig = {
gpg = {
format = "ssh";
ssh = {
program = if hostname == "eva-02"
then
"/Applications/1Password.app/Contents/MacOS/op-ssh-sign"
else
"/usr/bin/op-ssh-sign";
};
};
};
};
};
}

View File

@@ -0,0 +1,9 @@
{
programs.newsboat = {
enable = true;
urls = [
{ url = "https://dev.to/feed"; }
{ url = "https://stackoverflow.blog/feed/"; }
];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
hostname,
...
}:
{
programs.nixvim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
colorschemes.everforest = {
enable = true;
settings = {
background = "soft"; #"hard"
transparent_background = 1;
};
};
opts = {
number = true;
relativenumber = true;
expandtab = true;
shiftwidth = 2;
tabstop = 2;
};
diagnostic.settings = {
virtual_text = true;
update_in_insert = true;
severity_sort = true;
};
globals = {
mapleader = " ";
maplocalleader = " ";
};
clipboard.providers.wl-copy.enable = lib.mkIf (hostname != "eva-02") true;
};
}

View File

@@ -0,0 +1,7 @@
{
imports = [
./config.nix
./keymaps.nix
./plugins/default.nix
];
}

View File

@@ -0,0 +1,129 @@
{
programs.nixvim = {
keymaps = [
{
action = ":q<CR>";
key = "<leader>q";
options = {
silent = true;
noremap = true;
desc = "Quit";
};
}
{
action = ":w<CR>";
key = "<leader>w";
options = {
silent = true;
noremap = true;
desc = "Save";
};
}
{
action = ":wq<CR>";
key = "<leader>wq";
options = {
silent = true;
noremap = true;
desc = "Save and quit";
};
}
{
action = "<C-\\><C-n>:ToggleTerm direction=float<CR>";
key = "<leader>t";
mode = [
"n"
"v"
"t"
];
options = {
silent = true;
noremap = true;
desc = "Toggle floating terminal";
};
}
{
action = ":Telescope live_grep<CR>";
key = "<leader>lg";
options = {
silent = true;
noremap = true;
desc = "Live grep";
};
}
{
action = ":Telescope find_files<CR>";
key = "<leader>ff";
options = {
silent = true;
noremap = true;
desc = "Find file";
};
}
{
action = ":Telescope oldfiles<CR>";
key = "<leader>of";
options = {
silent = true;
noremap = true;
desc = "Browse recent files";
};
}
{
action = ":Telescope file_browser<CR>";
key = "<leader>fb";
options = {
silent = true;
noremap = true;
desc = "Directory-based file browser";
};
}
{
action = ":Neotree toggle reveal<CR>";
key = "<leader>nt";
options = {
silent = true;
noremap = true;
desc = "Toggle file tree";
};
}
{
action = ":Neotree focus<CR>";
key = "<leader>nf";
options = {
silent = true;
noremap = true;
desc = "Toggle file tree focus";
};
}
{
action = ":Glance definitions<CR>";
key = "<leader>gd";
options = {
silent = true;
noremap = true;
desc = "Glance definitions";
};
}
{
action = ":Glance references<CR>";
key = "<leader>gr";
options = {
silent = true;
noremap = true;
desc = "Glance references";
};
}
{
action = "\"+y<CR>";
key = "<leader>y";
mode = [ "v" ];
options = {
silent = true;
noremap = true;
desc = "Glance references";
};
}
];
};
}

View File

@@ -0,0 +1,68 @@
{
programs.nixvim.plugins = {
blink-cmp = {
enable = true;
settings = {
completion = {
accept = {
auto_brackets = {
enabled = true;
semantic_token_resolution = {
enabled = false;
};
};
};
documentation = {
auto_show = true;
};
};
keymap = {
"<C-e>" = [
"hide"
];
"<C-d>" = [
"scroll_documentation_up"
"fallback"
];
"<C-f>" = [
"scroll_documentation_down"
"fallback"
];
"<Tab>" = [
"select_next"
"fallback"
];
"<S-Tab>" = [
"select_prev"
"fallback"
];
"<C-space>" = [
"show"
"show_documentation"
"hide_documentation"
];
"<CR>" = [
"select_and_accept"
"fallback"
];
"<Down>" = [
"select_next"
"fallback"
];
"<Up>" = [
"select_prev"
"fallback"
];
"<S-s>" = [
"snippet_backward"
"fallback"
];
"<s>" = [
"snippet_forward"
"fallback"
];
};
};
};
};
}

View File

@@ -0,0 +1,47 @@
{
programs.nixvim.plugins = {
codecompanion = {
enable = true;
settings = {
adapters = {
ollama = {
__raw = ''
function()
return require('codecompanion.adapters').extend('ollama', {
env = {
url = "http://miguel-pc:11434",
},
schema = {
model = {
default = 'qwen2.5-coder:14b',
},
num_ctx = {
default = 32768,
},
},
})
end
'';
};
};
opts = {
log_level = "TRACE";
send_code = true;
use_default_actions = true;
use_default_prompts = true;
};
strategies = {
agent = {
adapter = "ollama";
};
chat = {
adapter = "ollama";
};
inline = {
adapter = "ollama";
};
};
};
};
};
}

View File

@@ -0,0 +1,57 @@
{
config,
lib,
hostname,
...
}:
{
imports = [
./blink-cmp.nix
./glance.nix
./illuminate.nix
./indent-blankline.nix
./lint.nix
./lsp.nix
./scrollview.nix
./startup.nix
./telescope.nix
./which-key.nix
]
++ lib.optional (hostname != "eva-02") ./codecompanion.nix;
programs.nixvim.plugins = {
cmp-nvim-lsp.enable = true;
cmp.enable = true;
cmp_luasnip.enable = true;
colorizer.enable = true;
comment.enable = true;
diffview.enable = true;
direnv.enable = true;
gitblame.enable = true;
gitsigns.enable = true;
# hardtime.enable = true;
intellitab.enable = true;
lastplace.enable = true;
lsp-format.enable = true;
lsp-lines.enable = true;
lsp-signature.enable = true;
lualine.enable = true;
luasnip.enable = true;
markview.enable = true;
multicursors.enable = true;
neo-tree.enable = true;
neoscroll.enable = true;
nvim-autopairs.enable = true;
refactoring.enable = true;
toggleterm.enable = true;
treesitter.enable = true;
web-devicons.enable = true;
zig.enable = true;
};
programs.nixvim.performance.byteCompileLua = {
enable = true;
plugins = true;
};
}

View File

@@ -0,0 +1,11 @@
{
programs.nixvim.plugins = {
glance = {
enable = true;
settings = {
border.enable = true;
theme.mode = "darken";
};
};
};
}

View File

@@ -0,0 +1,14 @@
{
programs.nixvim.plugins = {
illuminate = {
enable = true;
delay = 100;
minCountToHighlight = 1;
modesAllowlist = [
"n"
"i"
"v"
];
};
};
}

View File

@@ -0,0 +1,14 @@
{
programs.nixvim.plugins = {
indent-blankline = {
enable = true;
settings = {
scope = {
show_end = true;
show_exact_scope = true;
show_start = true;
};
};
};
};
}

View File

@@ -0,0 +1,13 @@
{
programs.nixvim.plugins = {
lint = {
enable = true;
autoCmd = {
event = [
"InsertLeave"
"TextChanged"
];
};
};
};
}

View File

@@ -0,0 +1,35 @@
{ pkgs, ... }:
{
programs.nixvim.plugins = {
lsp = {
enable = true;
servers = {
nil_ls.enable = true;
nixd = {
enable = true;
extraOptions = {
offset_encoding = "utf-8";
};
};
html.enable = true;
ts_ls.enable = true;
#tailwindcss.enable = true;
gopls.enable = true;
golangci_lint_ls.enable = true;
templ.enable = true;
pylsp.enable = true;
sqls.enable = true;
ocamllsp = {
enable = true;
package = pkgs.ocamlPackages.ocaml-lsp;
};
#rust_analyzer = { #Build Failure
# enable = true;
# installCargo = true;
# installRustc = true;
#};
zls.enable = true;
};
};
};
}

View File

@@ -0,0 +1,12 @@
{
programs.nixvim.plugins = {
scrollview = {
enable = true;
settings = {
signs_on_startup = [
"all"
];
};
};
};
}

View File

@@ -0,0 +1,63 @@
{
programs.nixvim.plugins = {
startup = {
enable = true;
parts = [
"header"
"body"
];
sections = {
header = {
align = "center";
content = {
__raw = "require('startup.headers').hydra_header";
};
defaultColor = "";
foldSection = false;
highlight = "Statement";
margin = 5;
oldfilesAmount = 0;
title = "Header";
type = "text";
};
body = {
align = "center";
content = [
[
" Find File"
"Telescope find_files"
"<leader>ff"
]
[
"󰍉 Find Word"
"Telescope live_grep"
"<leader>lg"
]
[
" Recent Files"
"Telescope oldfiles"
"<leader>of"
]
[
" File Browser"
"Telescope file_browser"
"<leader>fb"
]
[
" New File"
"lua require'startup'.new_file()"
"<leader>nf"
]
];
defaultColor = "";
foldSection = false;
highlight = "String";
margin = 5;
oldfilesAmount = 0;
title = "Basic Commands";
type = "mapping";
};
};
};
};
}

View File

@@ -0,0 +1,16 @@
{
programs.nixvim.plugins = {
telescope = {
enable = true;
extensions.file-browser = {
enable = true;
settings = {
hidden = {
file_browser = true;
folder_browser = true;
};
};
};
};
};
}

View File

@@ -0,0 +1,45 @@
{
programs.nixvim.plugins = {
which-key = {
enable = true;
settings = {
preset = "modern";
delay = 500;
expand = 1;
notify = false;
win = {
border = "single";
padding = [
1
1
];
wo.winblend = 10;
};
replace = {
desc = [
[
"<space>"
"SPACE"
]
[
"<leader>"
"SPACE"
]
[
"<[cC][rR]>"
"RETURN"
]
[
"<[tT][aA][bB]>"
"TAB"
]
[
"<[bB][sS]>"
"BACKSPACE"
]
];
};
};
};
};
}

View File

@@ -0,0 +1,90 @@
{ lib, ... }:
{
programs = {
starship = {
enable = true;
settings = {
add_newline = true;
format = lib.concatStrings [
"$time"
"$directory"
"$git_branch"
"$git_status"
"$hostname"
"$golang"
"direnv"
"$status"
];
right_format = lib.concatStrings [
"$cmd_duration"
];
cmd_duration = {
disabled = false;
show_notifications = false;
min_time = 2000;
format = "[$duration](bold yellow)";
};
directory = {
style = "cyan";
format = ''\[[$path]($style)\] '';
};
direnv = {
disabled = false;
};
git_branch = {
style = "bold cyan";
format = ''\[[$symbol$branch(:$remote_branch)]($style)\] '';
};
git_status = {
format = "[($all_status$ahead_behind )]($style)";
conflicted = "🏳";
ahead = "\${count}";
diverged = "\${ahead_count}\${behind_count}";
behind = "\${count}";
up_to_date = "";
untracked = "🤷";
stashed = "📦";
modified = "📝";
staged = ''[++\($count\)](green)'';
renamed = "👅";
deleted = "🗑";
};
golang = {
format = ''\[[$symbol($version)]($style)\]'';
};
hostname = {
format = "[$ssh_symbol$hostname]($style) ";
};
rust = {
format = ''[$symbol($version )]($style)'';
};
status = {
disabled = false;
success_symbol = "[](bold red)[](bold yellow)[](bold green) ";
symbol = "[](bold red) ";
format = "$symbol";
};
time = {
disabled = false;
style = "cyan";
format = ''\[[$time]($style)\] '';
use_12hr = true;
};
};
};
};
}

View File

@@ -0,0 +1,25 @@
{ pkgs, ... }:
{
programs = {
tmux = {
enable = true;
mouse = true;
baseIndex = 1;
keyMode = "vi";
historyLimit = 5000;
prefix = "C-a";
terminal = "xterm-ghostty";
disableConfirmationPrompt = true;
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.tilish
tmuxPlugins.resurrect
tmuxPlugins.gruvbox
tmuxPlugins.continuum
tmuxPlugins.prefix-highlight
];
extraConfig = "bind C-l send-keys 'C-l'";
};
};
}

View File

@@ -0,0 +1,63 @@
{ config, configPath, hostname, ... }:
{
programs = {
zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
shellAliases = {
cd = "z";
cat = "bat";
catp = "bat -pP";
find = "fd";
grep = "rg";
lg = "lazygit";
ll = "eza -la";
ls = "eza --color=auto";
lt = "eza --tree";
open = "xdg-open";
locate = "sudo plocate";
tulpn = "sudo netstat -tulpn";
rebuild = if hostname == "eva-02"
then
"sudo darwin-rebuild switch --flake .#eva-02"
else
"sudo nixos-rebuild switch --flake /etc/nixos#$(uname -n)";
};
# profileExtra = ''
# export SSH_AUTH_SOCK=~/.1password/agent.sock
# '';
profileExtra = if hostname == "eva-02"
then ''
export SSH_AUTH_SOCK="~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
''
else ''
export SSH_AUTH_SOCK=~/.1password/agent.sock
'';
initContent = ''
fastfetch
'';
history = {
size = 10000;
path = "${config.xdg.dataHome}/zsh/history";
};
oh-my-zsh = {
enable = true;
};
};
mcfly = {
enable = true;
fzf.enable = true;
fuzzySearchFactor = 5;
};
};
}

View File

@@ -2,17 +2,19 @@
{
imports = [
./cli-tools.nix
./fastfetch/fastfetch.nix
./direnv.nix
./nixvim/nixvim.nix
inputs.nixvim.homeManagerModules.nixvim
./commands/commands.nix
./programs/programs.nix
inputs.nixvim.homeModules.nixvim
];
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "rogueking";
home.homeDirectory = "/home/rogueking";
# home.homeDirectory = "/Users/rogueking";
home.homeDirectory = if pkgs.stdenv.isDarwin
then "/Users/rogueking" # Path for macOS
else "/home/rogueking"; # Path for Linux
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
@@ -21,7 +23,7 @@
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "24.11"; # Please read the comment before changing.
home.stateVersion = "25.05"; # Please read the comment before changing.
nixpkgs.config.allowUnfree = true;

View File

@@ -1,365 +0,0 @@
{
programs = {
nixvim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
#colorschemes.onedark.enable = true;
#colorschemes.everforest = {
# enable = true;
# settings = {
# background = "hard";
# transparent_background = 1;
# };
#};
opts = {
number = true;
relativenumber = true;
expandtab = true;
shiftwidth = 2;
tabstop = 2;
};
diagnostics = {
virtual_text = true;
update_in_insert = true;
severity_sort = true;
};
globals = {
mapleader = " ";
maplocalleader = " ";
};
keymaps = [
{
action = ":q<CR>";
key = "<leader>q";
options = {
silent = true;
noremap = true;
desc = "Quit";
};
}
{
action = ":w<CR>";
key = "<leader>w";
options = {
silent = true;
noremap = true;
desc = "Save";
};
}
{
action = ":wq<CR>";
key = "<leader>wq";
options = {
silent = true;
noremap = true;
desc = "Save and quit";
};
}
{
action = "<C-\\><C-n>:ToggleTerm direction=float<CR>";
key = "<leader>t";
mode = [ "n" "v" "t" ];
options = {
silent = true;
noremap = true;
desc = "Toggle floating terminal";
};
}
{
action = ":Telescope live_grep<CR>";
key = "<leader>lg";
options = {
silent = true;
noremap = true;
desc = "Live grep";
};
}
{
action = ":Telescope find_files<CR>";
key = "<leader>ff";
options = {
silent = true;
noremap = true;
desc = "Find file";
};
}
{
action = ":Telescope oldfiles<CR>";
key = "<leader>of";
options = {
silent = true;
noremap = true;
desc = "Browse recent files";
};
}
{
action = ":Telescope file_browser<CR>";
key = "<leader>fb";
options = {
silent = true;
noremap = true;
desc = "Directory-based file browser";
};
}
{
action = ":Neotree toggle reveal<CR>";
key = "<leader>nt";
options = {
silent = true;
noremap = true;
desc = "Toggle file tree";
};
}
];
plugins = {
comment.enable = true;
direnv.enable = true;
gitsigns.enable = true;
intellitab.enable = true;
lastplace.enable = true;
lsp-format.enable = true;
lspsaga.enable = true;
lualine.enable = true;
luasnip.enable = true;
multicursors.enable = true;
neo-tree.enable = true;
neoscroll.enable = true;
nix.enable = true;
nvim-autopairs.enable = true;
nvim-colorizer.enable = true;
refactoring.enable = true;
toggleterm.enable = true;
treesitter.enable = true;
web-devicons.enable = true;
telescope = {
enable = true;
extensions.file-browser.enable = true;
};
transparent = {
enable = true;
settings = {
groups = [
"Normal"
"NormalNC"
"Comment"
"Constant"
"Special"
"Identifier"
"Statement"
"PreProc"
"Type"
"Underlined"
"Todo"
"String"
"Function"
"Conditional"
"Repeat"
"Operator"
"Structure"
"LineNr"
"NonText"
"SignColumn"
"CursorLine"
"CursorLineNr"
"StatusLine"
"StatusLineNC"
"EndOfBuffer"
];
};
};
lint = {
enable = true;
autoCmd = {
event = [ "InsertLeave" "TextChanged" ];
};
};
illuminate = {
enable = true;
delay = 100;
minCountToHighlight = 1;
modesAllowlist = ["n" "i" "v"];
};
ollama = {
enable = true;
#url = ;
};
which-key = {
enable = true;
settings = {
preset = "modern";
delay = 500;
expand = 1;
notify = false;
win = {
border = "single";
padding = [1 1];
wo.winblend = 10;
};
replace = {
desc = [
[
"<space>"
"SPACE"
]
[
"<leader>"
"SPACE"
]
[
"<[cC][rR]>"
"RETURN"
]
[
"<[tT][aA][bB]>"
"TAB"
]
[
"<[bB][sS]>"
"BACKSPACE"
]
];
};
};
};
scrollview = {
enable = true;
settings = {
signs_on_startup = [
"all"
];
};
};
startup = {
enable = true;
parts = [ "header" "body" ];
sections = {
header = {
align = "center";
content = {
__raw = "require('startup.headers').hydra_header";
};
defaultColor = "";
foldSection = false;
highlight = "Statement";
margin = 5;
oldfilesAmount = 0;
title = "Header";
type = "text";
};
body = {
align = "center";
content = [
[
" Find File"
"Telescope find_files"
"<leader>ff"
]
[
"󰍉 Find Word"
"Telescope live_grep"
"<leader>lg"
]
[
" Recent Files"
"Telescope oldfiles"
"<leader>of"
]
[
" File Browser"
"Telescope file_browser"
"<leader>fb"
]
[
" New File"
"lua require'startup'.new_file()"
"<leader>nf"
]
];
defaultColor = "";
foldSection = false;
highlight = "String";
margin = 5;
oldfilesAmount = 0;
title = "Basic Commands";
type = "mapping";
};
};
};
indent-blankline = {
enable = true;
settings = {
scope = {
show_end = true;
show_exact_scope = true;
show_start = true;
};
};
};
cmp = {
enable = true;
autoEnableSources = true;
settings = {
sources = [
{name = "nvim_lsp";}
{name = "path";}
{name = "buffer";}
{name = "luasnip";}
];
mapping = {
"<C-Space>" = "cmp.mapping.complete()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-e>" = "cmp.mapping.close()";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
};
};
};
lsp = {
enable = true;
servers = {
nixd = {
enable = true;
extraOptions = {
offset_encoding = "utf-8";
};
};
ts_ls.enable = true;
gopls.enable = true;
golangci_lint_ls.enable = true;
rust_analyzer = {
enable = true;
installCargo = true;
installRustc = true;
};
};
};
};
};
};
}

View File

@@ -0,0 +1,48 @@
{
hostname,
lib,
...
}:
{
programs.ghostty = {
enable = true;
package = lib.mkIf (hostname == "eva-02") null;
enableZshIntegration = true;
settings = {
# Use explicit theme instead of relying on system theme detection
theme = "Adwaita Dark";
# Explicitly set color scheme preference to avoid GTK warnings
gtk-adwaita = true;
gtk-single-instance = true;
#custom-shader = "./shaders/tft.glsl";
font-family = "JetBrainsMono Nerd Font";
font-family-italic = "Maple Mono";
font-family-bold-italic = "Maple Mono";
font-size = 12;
bold-is-bright = true;
window-decoration = false;
background-opacity = 0.8;
#background-blur-radius = 120;
window-save-state = "always";
mouse-hide-while-typing = true;
cursor-invert-fg-bg = true;
keybind = [
"super+shift+k=new_split:down"
"super+shift+l=new_split:right"
"super+shift+x=close_window"
];
};
};
#home.file.".config/ghostty/shaders" = {
# enable = true;
# source = ./shaders;
# recursive = true;
#};
}

View File

@@ -0,0 +1,38 @@
{
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
# unlock_cmd = "killall hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
};
listeners = [
{
timeout = 30;
on-timeout = "pidof hyprlock && hyprctl dispatch dpms off";
on-resume = "pidof hyprlock && hyprctl dispatch dpms on";
}
{
timeout = 540;
on-timeout = "notify-send 'You are idle!'";
on-resume = "notify-send 'Welcome back!'";
}
{
timeout = 600;
on-timeout = "loginctl lock-session";
on-resume = "notify-send 'Desktop Unlocked!'";
}
# {
# timeout = 1200;
# on-timeout = "systemctl suspend";
# on-resume = "notify-send 'Welcome back to your desktop!'";
# }
];
};
};
}

View File

@@ -0,0 +1,164 @@
{ config, configPath, ... }:
{
wayland.windowManager.hyprland = {
enable = true;
settings = {
# === Monitor configuration ===
monitor = "eDP-1, 1920x1080@60.03300, 0x0, 1.25";
# === Autostart / Exec commands ===
exec-once = [
"sleep 1 && nm-applet --indicator"
"waybar"
"ghostty"
"swww-daemon"
"eww daemon"
"swww img ${configPath}/assets/ena/wallpaper.png"
];
# === Input settings ===
input = {
kb_layout = "us";
kb_variant = "";
kb_model = "";
kb_options = "";
kb_rules = "";
follow_mouse = true;
touchpad = {
natural_scroll = false;
};
sensitivity = 0;
};
# === General settings ===
general = {
gaps_in = 2.5;
gaps_out = 5;
border_size = 2;
"col.active_border" = "rgb(cdd6f4)";
"col.inactive_border" = "rgba(595959aa)";
layout = "dwindle";
};
misc = {
disable_hyprland_logo = true;
};
# === Decoration settings ===
decoration = {
rounding = 3;
blur = {
enabled = true;
size = 7;
passes = 3;
};
};
# === Animations ===
animations = {
enabled = true;
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
animation = [
"windows, 1, 7, myBezier"
"windowsOut, 1, 7, default, popin 80%"
"border, 1, 10, default"
"fade, 1, 7, default"
"workspaces, 1, 6, default"
];
};
# === Dwindle layout options ===
dwindle = {
pseudotile = true;
preserve_split = true;
};
# === Gestures ===
gestures = {
workspace_swipe = true;
workspace_swipe_fingers = 3;
workspace_swipe_invert = true;
workspace_swipe_distance = 200;
workspace_swipe_forever = true;
};
# === Per-device configuration ===
device = [
{
name = "epic-mouse-v1";
sensitivity = -0.5;
}
];
# === Window rules (v2) ===
windowrulev2 = [
"opacity 0.8 0.8,class:^(dolphin)$"
];
# === Modifier key ===
"$mod" = "SUPER";
# === Key bindings ===
bind = [
"$mod, T, exec, ghostty"
"$mod, Q, killactive"
"$mod, L, exec, hyprlock"
"$mod, M, exec, wlogout --protocol layer-shell"
"$mod SHIFT, M, exit"
"$mod, E, exec, dolphin"
"$mod, V, togglefloating"
"$mod, SPACE, exec, rofi -show drun"
"$mod, P, pseudo"
"$mod, J, togglesplit"
"$mod, S, exec, flameshot full"
"$mod SHIFT, S, exec, flameshot gui"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
"$mod SHIFT, left, movewindow, l"
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
"$mod SHIFT, L, resizeactive, 10 0"
"$mod SHIFT, H, resizeactive, -10 0"
"$mod SHIFT, K, resizeactive, 0 -10"
"$mod SHIFT, J, resizeactive, 0 10"
];
# === Mouse bindings ===
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
};
};
}

View File

@@ -0,0 +1,48 @@
{ configPath, ... }:
{
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "${configPath}/assets/ena/wallpaper.png";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "${configPath}/assets/pfp.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1;
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
}

View File

@@ -0,0 +1,275 @@
{
pkgs,
lib,
config,
...
}:
let
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
clock24h = false;
in
with lib;
{
# Configure & Theme Waybar
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = [ "hyprland/workspaces" ];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
"idle_inhibitor"
];
modules-right = [
"custom/hyprbindings"
"custom/notification"
"custom/exit"
"battery"
"tray"
"clock"
];
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
};
"clock" = {
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big>\n<tt><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 22;
separate-outputs = false;
rewrite = {
"" = " 🙈 No Windows? ";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {signalStrength}%";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = "";
# exec = "rofi -show drun";
on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = "󱕴";
on-click = "sleep 0.1 && list-keybinds";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-family: JetBrainsMono Nerd Font Mono;
font-size: 16px;
border-radius: 0px;
border: none;
min-height: 0px;
}
window#waybar {
background: rgba(0,0,0,0);
}
#workspaces {
color: #${config.lib.stylix.colors.base00};
background: #${config.lib.stylix.colors.base01};
margin: 4px 4px;
padding: 5px 5px;
border-radius: 16px;
}
#workspaces button {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
opacity: 0.5;
transition: ${betterTransition};
}
#workspaces button.active {
font-weight: bold;
padding: 0px 5px;
margin: 0px 3px;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
transition: ${betterTransition};
opacity: 1.0;
min-width: 40px;
}
#workspaces button:hover {
font-weight: bold;
border-radius: 16px;
color: #${config.lib.stylix.colors.base00};
background: linear-gradient(45deg, #${config.lib.stylix.colors.base08}, #${config.lib.stylix.colors.base0D});
opacity: 0.8;
transition: ${betterTransition};
}
tooltip {
background: #${config.lib.stylix.colors.base00};
border: 1px solid #${config.lib.stylix.colors.base08};
border-radius: 12px;
}
tooltip label {
color: #${config.lib.stylix.colors.base08};
}
#window, #pulseaudio, #cpu, #memory, #idle_inhibitor {
font-weight: bold;
margin: 4px 0px;
margin-left: 7px;
padding: 0px 18px;
background: #${config.lib.stylix.colors.base04};
color: #${config.lib.stylix.colors.base00};
border-radius: 24px 10px 24px 10px;
}
#custom-startmenu {
color: #${config.lib.stylix.colors.base0B};
background: #${config.lib.stylix.colors.base02};
font-size: 28px;
margin: 0px;
padding: 0px 30px 0px 15px;
border-radius: 0px 0px 40px 0px;
}
#custom-hyprbindings, #network, #battery,
#custom-notification, #tray, #custom-exit {
font-weight: bold;
background: #${config.lib.stylix.colors.base0F};
color: #${config.lib.stylix.colors.base00};
margin: 4px 0px;
margin-right: 7px;
border-radius: 10px 24px 10px 24px;
padding: 0px 18px;
}
#clock {
font-weight: bold;
color: #0D0E15;
background: linear-gradient(90deg, #${config.lib.stylix.colors.base0E}, #${config.lib.stylix.colors.base0C});
margin: 0px;
padding: 0px 15px 0px 30px;
border-radius: 0px 0px 0px 40px;
}
''
];
};
}

View File

@@ -0,0 +1,82 @@
{ pkgs, hostname, lib, ... }:
{
imports = lib.optionals (! (lib.elem hostname [ "buildbox" "eva-02" ])) [
./ghostty/ghostty.nix
./rofi/rofi.nix
./hypr/hypridle.nix
./hypr/hyprland.nix
./hypr/hyprlock.nix
#./hypr/waybar.nix
]
++ lib.optionals (hostname == "eva-02") [
./ghostty/ghostty.nix
];
home.packages =
lib.optionals (! (lib.elem hostname [ "buildbox" "eva-02" ])) (with pkgs; [
#pwndbg
bambu-studio
blender
brave
desmume
gparted
jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kate
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
libreoffice-still
librewolf
localsend
lutris-unwrapped
meld
melonDS
moonlight-qt
nestopia-ue
nix-ld
obsidian
pandoc
prismlauncher
protonplus
protonup-qt
pwninit
pwntools
qFlipper
r2modman
remmina
rpi-imager
sdrangel
sdrpp
signal-desktop
spice
steam
steamcmd
swww
tor-browser
vesktop
vlc
vscode
wireshark
yubikey-agent
]
++ lib.optionals (hostname == "eva-01") [
sonic-visualiser
cinny-desktop
calibre
]
++ lib.optionals (hostname == "eva-02") [
vscode
]
++ lib.optionals (hostname == "eva-03") [
]);
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

View File

@@ -0,0 +1,278 @@
{
config,
pkgs,
configPath,
...
}:
{
programs.rofi = {
enable = true;
terminal = "ghostty";
package = pkgs.rofi-wayland.override {
plugins = [ pkgs.rofi-emoji-wayland ];
};
font = "JetBrainsMono Nerd Font 12";
plugins = [
pkgs.rofi-emoji-wayland
pkgs.rofi-calc
pkgs.rofi-games
pkgs.rofi-file-browser
];
extraConfig = {
modi = "drun,run,filebrowser,emoji";
show-icons = true;
display-drun = "Apps";
display-run = "Run";
display-filebrowser = "Files";
drun-display-format = "{name}";
hover-select = true;
me-select-entry = "MouseSecondary";
me-accept-entry = "MousePrimary";
window-format = "{w} · {c} · {t}";
dpi = 1;
};
theme =
let
inherit (config.lib.formats.rasi) mkLiteral;
in
{
"*" = {
active-background = mkLiteral "#101C2F";
active-foreground = mkLiteral "#D6CBD5";
normal-background = mkLiteral "#030508";
normal-foreground = mkLiteral "#D6CBD5";
urgent-background = mkLiteral "#2B7F48";
urgent-foreground = mkLiteral "#D6CBD5";
alternate-active-background = mkLiteral "#11606B";
alternate-active-foreground = mkLiteral "#D6CBD5";
alternate-normal-background = mkLiteral "#030508";
alternate-normal-foreground = mkLiteral "#D6CBD5";
alternate-urgent-background = mkLiteral "#030508";
alternate-urgent-foreground = mkLiteral "#D6CBD5";
selected-active-background = mkLiteral "#101C2F";
selected-active-foreground = mkLiteral "#D6CBD5";
selected-normal-background = mkLiteral "#BCADBB";
selected-normal-foreground = mkLiteral "#D6CBD5";
selected-urgent-background = mkLiteral "#2B7F48";
selected-urgent-foreground = mkLiteral "#D6CBD5";
background-color = mkLiteral "#030508";
background = mkLiteral "rgba(32,32,32,0.7)";
foreground = mkLiteral "#BCADBB";
border-color = mkLiteral "#101C2F";
background-alt = mkLiteral "@selected-active-background";
selected = mkLiteral "@selected-urgent-background";
active = mkLiteral "@selected-normal-background";
urgent = mkLiteral "@selected";
text-selected = mkLiteral "@background";
text-color = mkLiteral "@foreground";
};
"window" = {
enabled = true;
fullscreen = false;
transparency = mkLiteral "\"real\"";
cursor = mkLiteral "\"default\"";
spacing = 0;
border = mkLiteral "4px 0px 4px 0px";
border-radius = 30;
location = mkLiteral "center";
anchor = mkLiteral "center";
width = mkLiteral "50%";
background-color = mkLiteral "@background";
};
"mainbox" = {
padding = 15;
enabled = true;
orientation = mkLiteral "vertical";
children = map mkLiteral [
"inputbar"
"listbox"
];
background-color = mkLiteral "transparent";
};
"inputbar" = {
enabled = true;
padding = mkLiteral "10px 10px 100px 10px";
margin = 10;
background-color = mkLiteral "transparent";
border-radius = 25;
orientation = mkLiteral "horizontal";
children = map mkLiteral [
"entry"
"dummy"
"mode-switcher"
];
background-image = mkLiteral "url(\"${configPath}/assets/background.png\", width)";
};
"entry" = {
enabled = true;
expand = false;
width = mkLiteral "20%";
padding = 10;
border-radius = 12;
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
cursor = mkLiteral "text";
placeholder = mkLiteral "\"🖥 Search \"";
placeholder-color = mkLiteral "inherit";
};
"listbox" = {
spacing = 10;
padding = 10;
background-color = mkLiteral "transparent";
orientation = mkLiteral "vertical";
children = map mkLiteral [
"message"
"listview"
];
};
"listview" = {
enabled = true;
columns = 2;
lines = 6;
cycle = true;
dynamic = true;
scrollbar = true;
layout = mkLiteral "vertical";
reverse = false;
fixed-height = false;
fixed-columns = true;
spacing = 10;
background-color = mkLiteral "transparent";
border = 0;
};
"dummy" = {
expand = true;
background-color = mkLiteral "transparent";
};
"mode-switcher" = {
enabled = true;
spacing = 10;
background-color = mkLiteral "transparent";
};
"button" = {
width = mkLiteral "5%";
padding = 12;
border-radius = 12;
background-color = mkLiteral "@text-selected";
text-color = mkLiteral "@text-color";
cursor = mkLiteral "pointer";
};
"button selected" = {
background-color = mkLiteral "@selected";
text-color = mkLiteral "@text-selected";
};
"scrollbar" = {
width = 4;
border = 0;
handle-color = mkLiteral "@border-color";
handle-width = 8;
padding = 0;
};
"element" = {
enabled = true;
spacing = 10;
padding = 10;
border-radius = 12;
background-color = mkLiteral "transparent";
cursor = mkLiteral "pointer";
};
"element normal.normal" = {
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"element normal.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@foreground";
};
"element normal.active" = {
background-color = mkLiteral "@active";
text-color = mkLiteral "@foreground";
};
"element selected.normal" = {
border = mkLiteral "1px 6px 1px 6px";
border-radius = 16;
border-color = mkLiteral "@selected";
background-color = mkLiteral "transparent";
text-color = mkLiteral "@selected";
};
"element selected.urgent" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element selected.active" = {
background-color = mkLiteral "@urgent";
text-color = mkLiteral "@text-selected";
};
"element alternate.normal" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.urgent" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element alternate.active" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
};
"element-icon" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
};
"element-text" = {
background-color = mkLiteral "transparent";
text-color = mkLiteral "inherit";
cursor = mkLiteral "inherit";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"message" = {
background-color = mkLiteral "transparent";
border = 0;
};
"textbox" = {
padding = 12;
border-radius = 10;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
vertical-align = mkLiteral "0.5";
horizontal-align = mkLiteral "0.0";
};
"error-message" = {
padding = 12;
border-radius = 20;
background-color = mkLiteral "@background-alt";
text-color = mkLiteral "@background";
};
};
};
}

View File

@@ -2,22 +2,42 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, inputs, ... }:
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
lib,
...
}:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
# (modulesPath + "/profiles/qemu-guest.nix")
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.grub.enable = lib.mkDefault true;
boot.loader.grub.devices = [ "nodev" ];
nix.settings.experimental-features = ["nix-command" "flakes"];
networking.hostName = "EVA-01"; # Define your hostname.
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "buildbox"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
@@ -52,16 +72,13 @@
services.xserver.enable = false;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
# services.displayManager.sddm.enable = true;
# services.displayManager.sddm.wayland.enable = true;
# services.desktopManager.plasma6.enable = true;
# services.displayManager.sddm.theme = "sddm-astronaut-theme";
services.tailscale.enable = true;
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
@@ -72,25 +89,11 @@
services.printing.enable = false;
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
# hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
hardware.bluetooth.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
@@ -104,14 +107,8 @@
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
bat
brave
btop
kdePackages.kate
localsend
neovim
tldr
vesktop
#apps
#cli
# thunderbird
];
};
@@ -131,50 +128,68 @@
polkitPolicyOwners = [ "rogueking" ];
};
# Enable OpenSSH daemon
services.openssh.enable = true;
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = true;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = 8;
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
fprintd
jellyfin-media-player
kdePackages.bluedevil
kdePackages.bluez-qt
kdePackages.kdeconnect-kde
kdePackages.oxygen-sounds
kdePackages.partitionmanager
moonlight-qt
obsidian
prismlauncher
qFlipper
remmina
vesktop
wireshark
#cider-2
guacamole-client
# sddm-astronaut
#cli tools
android-tools
metasploit
btop
curl
docker
dust
file
findutils
git
gparted
kopia
lazydocker
nettools
nix-prefetch-github
nmap
oh-my-zsh
openssh
thefuck
openssl
parted
plocate
ptunnel
tailscale
tlp
unzip
vim
wget
];
fonts.packages = with pkgs; [
nerdfonts
];
home-manager = {
extraSpecialArgs = { inherit inputs; };
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./home-manager/home.nix;
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
@@ -213,6 +228,6 @@
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment?
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -0,0 +1,35 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2387c615-e566-44ed-a708-ebd407ee16f6";
fsType = "ext4";
};
swapDevices = [ {
device = "/var/lib/swapfile";
size = 4*1024;
} ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@@ -0,0 +1,340 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
# Dynamic power managment
# powerManagement = {
# enable = true;
# cpuFreqGovernor = "powersave";
# powertop.enable = true;
# };
# Power Management
services.thermald.enable = true;
services.power-profiles-daemon.enable = false;
services.auto-cpufreq.enable = true;
services.auto-cpufreq.settings = {
battery = {
governor = "balanced";
turbo = "auto";
};
charger = {
governor = "performance";
turbo = "auto";
};
};
services.system76-scheduler = {
enable = true;
useStockConfig = true;
};
# Intel CPU integrated graphics packages
hardware.graphics.extraPackages = with pkgs; [
intel-media-driver
intel-ocl
intel-vaapi-driver
];
networking.hostName = "eva-01"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = false;
programs.xwayland.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
#services.displayManager.sddm.theme = "sddm-astronaut-theme";
# Enable Hyprland wayland compositor
programs.hyprland.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# Enable XDG Desktop Portal for proper D-Bus integration
services.dbus.enable = true;
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
services.tailscale.enable = true;
#Enable Ollama daemon
services.ollama = {
enable = true;
package = pkgs-unstable.ollama;
};
#Enable Hyprland
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = false;
services.avahi.enable = true;
services.avahi.nssmdns4 = true;
# Enable Smart Card
services.pcscd.enable = true;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
hardware.bluetooth.enable = true;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [
"networkmanager"
"wheel"
"docker"
];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
security.polkit.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
};
#steam
programs.steam.enable = true;
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = "20";
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# Firewall
networking.firewall = {
enable = true;
allowedTCPPorts = [
22
# 80
# 443
];
logRefusedConnections = true;
};
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cider-2
fprintd
guacamole-client
#sddm-astronaut
#cli tools
aircrack-ng
android-tools
btop
curl
docker
dust
file
findutils
git
hcxdumptool
hcxtools
kopia
lazydocker
metasploit
nettools
nix-prefetch-github
nmap
openssh
openssl
plocate
ptunnel
tailscale
tlp
unzip
vim
wirelesstools
wifite2
#fonts
nerd-fonts.hack
nerd-fonts.fira-code
#unstable
#pkgs-unstable.vllm
];
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
#home-manager = {
# extraSpecialArgs = { inherit inputs; };
# users = {
# "rogueking" = import ../home-manager/home.nix;
# };
# backupFileExtension = "backup";
#};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -24,7 +24,10 @@
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
swapDevices = [ {
device = "/var/lib/swapfile";
size = 8*1024;
} ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View File

@@ -0,0 +1,173 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
pkgs-unstable,
inputs,
configPath,
hostname,
lib,
...
}:
{
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
nix.optimise.automatic = true;
# nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
interval = [{
Hour = 2;
Minute = 30;
Weekday = 7;
}];
# persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "eva-02"; # Define your hostname.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
# services.xserver.enable = true; # Enable for Darwin compatibility
# Enable sound with pipewire.
# hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
# Enable Touch ID
security.pam.services.sudo_local.touchIdAuth = true;
# Define a user account. Don't forget to set a password with passwd.
system.primaryUser = "rogueking";
programs.zsh.enable = true;
users.users.rogueking = {
# isNormalUser = true;
description = "rogueking";
# extraGroups = [ "admin" "staff" "wheel" "docker" ];
home = "/Users/rogueking";
shell = pkgs.zsh;
packages = with pkgs; [
#apps
vscode
#cli
];
};
homebrew = {
enable = true;
onActivation.autoUpdate = true;
casks = [
"1password"
"1password-cli"
"docker"
"ghostty"
];
};
# Install firefox.
# programs.firefox.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# Enable OpenSSH daemon
# services.openssh = {
# enable = true;
# # ports = [ 22 ];
# settings = {
# PasswordAuthentication = true;
# AllowUsers = [ "rogueking" ];
# UseDns = true;
# X11Forwarding = false;
# PermitRootLogin = "no";
# MaxAuthTries = 8;
# };
# };
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cli tools
btop
curl
docker
dust
file
findutils
git
kopia
lazydocker
nettools
nix-prefetch-github
nmap
openssh
openssl
ptunnel
tailscale
unzip
vim
];
fonts.packages = with pkgs; [
nerd-fonts.hack
nerd-fonts.fira-code
];
home-manager = {
extraSpecialArgs = {
inherit
configPath
inputs
pkgs-unstable
hostname
;
};
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
system.stateVersion = 6;
}

View File

@@ -0,0 +1,341 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, pkgs-unstable, inputs, hostname, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
inputs.home-manager.nixosModules.default
];
#Kernel
boot.kernelPackages = pkgs.linuxKernel.packages.linux_zen;
# Bootloader.
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot = {
enable = true;
windows = {
"11-Pro" = {
title = "Windows 11 Pro";
efiDeviceHandle = "HD3c";
sortKey = "z_windows";
};
};
};
nix.settings.experimental-features = ["nix-command" "flakes"];
# Nix optimizations
nix.optimise.automatic = true;
nix.settings.auto-optimise-store = true;
nix.gc = {
automatic = true;
dates = "weekly";
persistent = true;
options = "--delete-older-than 30d";
};
networking.hostName = "eva-03"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
virtualisation.docker.enable = true;
# Enable OpenGL
hardware.graphics = {
enable = true;
};
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
# Modesetting is required.
modesetting.enable = true;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
# Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials.
# powerManagement.enable = false;
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
# powerManagement.finegrained = false;
# Use the NVidia open source kernel module (not to be confused with the
# independent third-party "nouveau" open source driver).
# Support is limited to the Turing and later architectures. Full list of
# supported GPUs is at:
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
# Only available from driver 515.43.04+
open = false;
# Enable the Nvidia settings menu,
# accessible via `nvidia-settings`.
nvidiaSettings = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
# Set your time zone.
time.timeZone = "America/Los_Angeles";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Enable the X11 windowing system.
# You can disable this if you're only using the Wayland session.
services.xserver.enable = false;
programs.xwayland.enable = true;
# Enable the KDE Plasma Desktop Environment.
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
services.displayManager.sddm.theme = "sddm-astronaut-theme";
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# XRDP
services.xrdp.enable = true;
services.xrdp.defaultWindowManager = "startplasma-x11";
services.xrdp.openFirewall = true;
# Enable Tailscale
services.tailscale.enable = true;
#Enable Ollama daemon
# services.ollama.enable = true;
# Enable ollama
services.ollama = {
enable = true;
host = "0.0.0.0";
openFirewall = true;
acceleration = "cuda";
package = pkgs-unstable.ollama;
loadModels = [
"codegemma:7b"
"deepcoder:14b"
"gemma3:12b-it-qat"
"gemma3:27b-it-qat"
"qwq:32b"
"deepseek-r1:32b"
"HammerAI/mythomax-l2:latest"
];
};
services.fprintd.enable = true;
services.fprintd.tod.enable = true;
services.fprintd.tod.driver = pkgs.libfprint-2-tod1-goodix;
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Enable CUPS to print documents.
services.printing.enable = false;
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
#hardware.pulseaudio = {
# enable = true;
# package = pkgs.pulseaudioFull;
#};
hardware.bluetooth.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
programs.zsh.enable = true;
users.users.rogueking = {
isNormalUser = true;
description = "rogueking";
extraGroups = [ "networkmanager" "wheel" "docker" ];
shell = pkgs.zsh;
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
packages = with pkgs; [
#apps
#cli
# thunderbird
];
};
# Install firefox.
programs.firefox.enable = true;
# Enable all firmware
hardware.enableAllFirmware = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
security.polkit.enable = true;
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
# Certain features, including CLI integration and system authentication support,
# require enabling PolKit integration on some desktop environments (e.g. Plasma).
polkitPolicyOwners = [ "rogueking" ];
};
#steam
programs.steam.enable = true;
# Enable OpenSSH daemon
services.openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = false;
AllowUsers = [ "rogueking" ];
UseDns = true;
X11Forwarding = false;
PermitRootLogin = "no";
MaxAuthTries = "20";
};
};
users.users."rogueking".openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXqriPZVIuduc/J7GS1mD171LL0gIbgEjlImsxedWVX"
];
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
#apps
#cider-2
amneziawg-go
fprintd
guacamole-client
sddm-astronaut
polonium
#cli tools
aircrack-ng
android-tools
btop
curl
docker
dust
file
findutils
fwupd
git
hcxdumptool
hcxtools
kopia
lazydocker
metasploit
nettools
nix-prefetch-github
nmap
openssh
openssl
plocate
ptunnel
tailscale
tlp
unzip
vim
wifite2
wirelesstools
#unstable
pkgs-unstable.vllm
pkgs-unstable.ollama
];
fonts.packages = with pkgs; [
nerdfonts
];
home-manager = {
extraSpecialArgs = { inherit inputs hostname; };
users = {
"rogueking" = import ./../../home-manager/home.nix;
};
backupFileExtension = "backup";
};
#home-manager = {
# extraSpecialArgs = { inherit inputs; };
# users = {
# "rogueking" = import ../home-manager/home.nix;
# };
# backupFileExtension = "backup";
#};
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -0,0 +1,40 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b325c30d-e1e9-4845-898a-f2d85a35e494";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/31E1-03D2";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/432a1564-851c-4246-ba69-4f11fd0e1765"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}