Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
77535b4b42
|
|||
|
c96032611c
|
|||
| 37a7c39119 | |||
|
262dbf1251
|
|||
| e809186d9b | |||
| 6e5474da74 | |||
|
6e8d370a16
|
|||
|
9fca17e4a4
|
|||
|
e98d4893f7
|
|||
|
6214930d19
|
|||
|
fa802a3a50
|
|||
|
abf5c8e7a0
|
|||
|
910557e7ae
|
|||
| 1f93e32bc7 | |||
|
22bb58825f
|
|||
|
deec6c6001
|
|||
|
f294b93eb8
|
|||
| 53513f0dd0 | |||
|
43b5892c02
|
|||
|
d1d97fdac9
|
|||
|
f807d29276
|
|||
|
20c78889d3
|
|||
|
418e434610
|
|||
|
17ffc5ae8f
|
|||
|
bb6fbcb104
|
|||
|
fb6a6bd22d
|
|||
|
9535c156d8
|
|||
|
4a8b0c065a
|
|||
|
3227655e16
|
|||
|
433610c00d
|
|||
|
95b0bba0e9
|
|||
|
6f2169c9fc
|
|||
|
4f29ea3ac6
|
|||
|
d50ebe3ba0
|
|||
|
8f625f1906
|
|||
|
fb68a73b3d
|
|||
|
8928d49418
|
|||
|
3285043183
|
|||
|
e9b4e94faa
|
|||
|
2d17d4b3d5
|
|||
|
f180f098c3
|
|||
|
3f1bbc04a5
|
|||
|
722ae3f786
|
|||
|
234858f28b
|
|||
|
efe2c7cc0a
|
|||
|
e4aa64145c
|
|||
|
71e0a0240e
|
|||
|
94fb9894d8
|
|||
|
56e52e1d29
|
|||
|
eb9c5893ea
|
|||
|
c9526fc453
|
|||
|
cf30a00c81
|
|||
|
9e1e48c406
|
|||
|
172dc90e58
|
|||
|
4617841efd
|
|||
|
eaf9645e85
|
|||
|
7b01f7af91
|
|||
|
203302d0ea
|
|||
|
0e20523cf1
|
|||
|
fe22e065ba
|
|||
|
7e3e379ca5
|
|||
|
789901c5a9
|
|||
|
9e40d17e6d
|
|||
|
6c1ce398c5
|
|||
|
6168a3338a
|
|||
|
b1f97c096a
|
|||
|
d20d501788
|
|||
|
3cffe88036
|
|||
|
42715dd509
|
|||
|
dc18dfdb22
|
|||
|
095d65a285
|
|||
|
bb130a8d7c
|
|||
|
251fac1616
|
|||
|
fa8502004a
|
|||
|
8401e7c9da
|
|||
|
df349613c8
|
|||
|
7b37670baf
|
|||
|
c477f001ed
|
|||
|
4e41129ac3
|
|||
|
d05cabc53a
|
|||
|
10c6ff1c62
|
|||
|
7e96025555
|
|||
|
ec717948bd
|
|||
|
20a9354349
|
|||
|
fe0f530b3a
|
|||
|
cfad4af862
|
|||
|
c9206fe095
|
|||
|
9913fbbe27
|
|||
|
63c98366e7
|
|||
|
1213fd6343
|
|||
| b1a349b2f8 | |||
|
eb1d846c11
|
|||
|
6323c5eaca
|
|||
| e9769fd23f | |||
| e8508fbc73 | |||
| 3df4913796 | |||
|
2fac0e3705
|
|||
|
8e5e8f9a08
|
|||
|
7059b2162c
|
|||
|
7b36212651
|
|||
|
5cca008a30
|
|||
|
03583ad819
|
|||
|
5c904cdd30
|
|||
|
02eaaae4b1
|
|||
|
c2f99bc5ab
|
|||
|
0e54ecfac4
|
|||
|
4168b42081
|
|||
|
06cc1709f1
|
|||
|
d979f7daec
|
|||
|
f1187ceba7
|
|||
|
bd7415ce9c
|
|||
|
4793017722
|
|||
|
d93dd8a14e
|
|||
|
7c1253eeb5
|
|||
|
fa0d58aa6f
|
|||
|
52f599371c
|
|||
|
5f3a231a92
|
|||
|
8b8b4f9201
|
|||
|
2ac729b234
|
|||
|
740d1f02df
|
|||
|
5989f6c06d
|
|||
| 040d270eaf | |||
| 64e67a7e2e | |||
| 229850cc9e | |||
| a986cafdd9 | |||
| 014c19f30c | |||
| 78eaad45a5 | |||
| 01dd869d11 | |||
| 825752b89f | |||
| 593390725d |
4
.gitattributes
vendored
Normal file
4
.gitattributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
*.jpg filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.webp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
||||||
BIN
assets/eva-01.jpg
LFS
Normal file
BIN
assets/eva-01.jpg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/BLEACHXSTUDIOGHIBLI.jpeg
LFS
Normal file
BIN
assets/pfp/BLEACHXSTUDIOGHIBLI.jpeg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/BLEACHXSTUDIOGHIBLI.jpg
LFS
Normal file
BIN
assets/pfp/BLEACHXSTUDIOGHIBLI.jpg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/Jiji.jpg
LFS
Normal file
BIN
assets/pfp/Jiji.jpg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/jaUtSEI.jpg
LFS
Normal file
BIN
assets/pfp/jaUtSEI.jpg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/jiro.jpg
LFS
Normal file
BIN
assets/pfp/jiro.jpg
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/neonNerv.png
LFS
Normal file
BIN
assets/pfp/neonNerv.png
LFS
Normal file
Binary file not shown.
BIN
assets/pfp/uptime-kuma.png
LFS
Normal file
BIN
assets/pfp/uptime-kuma.png
LFS
Normal file
Binary file not shown.
433
flake.lock
generated
433
flake.lock
generated
@@ -1,50 +1,13 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"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-compat": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1733328505,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
"owner": "edolstra",
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
"repo": "flake-compat",
|
"revCount": 69,
|
||||||
"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",
|
"type": "tarball",
|
||||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
@@ -52,6 +15,24 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1760948891,
|
||||||
|
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
@@ -59,11 +40,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735774679,
|
"lastModified": 1763759067,
|
||||||
"narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=",
|
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66",
|
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -72,111 +53,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
|
||||||
"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=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ghostty": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
|
||||||
"zig": "zig"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736005074,
|
|
||||||
"narHash": "sha256-6W7Cg4Lf0/gT4r/Bloj9lwxKw+Txti3Bw1ybrEpn0CA=",
|
|
||||||
"owner": "ghostty-org",
|
|
||||||
"repo": "ghostty",
|
|
||||||
"rev": "8f5f432ab61fa73b77cb61239c0cff34250f77bb",
|
|
||||||
"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",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -184,196 +60,190 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735344290,
|
"lastModified": 1764866045,
|
||||||
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
|
"narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
|
"rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
"ref": "release-25.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
"home-manager-unstable": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixpkgs-unstable"
|
||||||
"nixpkgs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735344290,
|
"lastModified": 1764998300,
|
||||||
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
|
"narHash": "sha256-fZatn/KLfHLDXnF0wy7JxXqGaZmGDTVufT4o/AOlj44=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
|
"rev": "27a6182347ccae90a88231ae0dc5dfa7d15815bb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ixx": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": [
|
|
||||||
"nixvim",
|
|
||||||
"nuschtosSearch",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nuschtosSearch",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1729958008,
|
|
||||||
"narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "ixx",
|
|
||||||
"rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"ref": "v0.0.6",
|
|
||||||
"repo": "ixx",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-darwin": {
|
"nix-darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixpkgs-unstable"
|
||||||
"nixpkgs"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735956190,
|
"lastModified": 1765065051,
|
||||||
"narHash": "sha256-svzx3yVXD5tbBJZCn3Lt1RriH8GHo6CyVUPTHejf7sU=",
|
"narHash": "sha256-b7W9WsvyMOkUScNxbzS45KEJp0iiqRPyJ1I3JBE+oEE=",
|
||||||
"owner": "lnl7",
|
"owner": "nix-darwin",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "3feaf376d75d3d58ebf7e9a4f584d00628548ad9",
|
"rev": "7e22bf538aa3e0937effcb1cee73d5f1bcc26f79",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "lnl7",
|
"owner": "nix-darwin",
|
||||||
|
"ref": "master",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-snapd": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761703712,
|
||||||
|
"narHash": "sha256-OKuNVXmHuZ0zi8T0aGWrBJizIfvdTqV1RiV0IN8GPZs=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-snapd",
|
||||||
|
"rev": "f7694a0e26d890e285137e1b726b1b44038805c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-snapd",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixos-hardware": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764440730,
|
||||||
|
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735922141,
|
"lastModified": 1761442529,
|
||||||
"narHash": "sha256-vk0xwGZSlvZ/596yxOtsk4gxsIx2VemzdjiU8zhjgWw=",
|
"narHash": "sha256-8aDps5fCt0Ndw56ZgeBvdT7E5zeUSFi3CJaNR7ZJKnA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d29ab98cd4a70a387b8ceea3e930b3340d41ac5a",
|
"rev": "75762615e96b1a7f172dcdadf62aa9f3aebedf7b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-24.11",
|
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733423277,
|
"lastModified": 1754788789,
|
||||||
"narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
|
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
|
||||||
"owner": "nixos",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "e36963a147267afc055f7cf65225958633e536bf",
|
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nix-community",
|
||||||
"ref": "release-24.11",
|
"repo": "nixpkgs.lib",
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733229606,
|
"lastModified": 1764950072,
|
||||||
"narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
|
"narHash": "sha256-BmPWzogsG2GsXZtlT+MTcAWeDK5hkbGRZTeZNW42fwA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
|
"rev": "f61125a668a320878494449750330ca58b78c557",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixpkgs-unstable",
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764831616,
|
||||||
|
"narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"flake-parts": "flake-parts_2",
|
||||||
"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"
|
"nixpkgs-unstable"
|
||||||
],
|
],
|
||||||
"nuschtosSearch": "nuschtosSearch",
|
"systems": "systems"
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735993984,
|
"lastModified": 1765043977,
|
||||||
"narHash": "sha256-Syew+5yuzysUr07SrGD+GRfZjE11h36TSYbxzEHYyyc=",
|
"narHash": "sha256-Gcdn1s/ynXRFNqInTcYltAi1gqgmTKw8Hw6OSfFNWMY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "6bd1c7c5927fa9fdfdfd68f5aa772e6a62b9d779",
|
"rev": "b65233d5f9736cf8d8fe9d4652e1faf610b574bc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "nixos-24.11",
|
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nuschtosSearch": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"ixx": "ixx",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735854821,
|
|
||||||
"narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "search",
|
|
||||||
"rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NuschtOS",
|
|
||||||
"repo": "search",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ghostty": "ghostty",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nix-snapd": "nix-snapd",
|
||||||
|
"nixos-hardware": "nixos-hardware",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
"nixvim": "nixvim"
|
"nixvim": "nixvim"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -391,67 +261,6 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735905407,
|
|
||||||
"narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"zig": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"ghostty"
|
|
||||||
],
|
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
|
||||||
"ghostty",
|
|
||||||
"nixpkgs-stable"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1717848532,
|
|
||||||
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
|
|
||||||
"owner": "mitchellh",
|
|
||||||
"repo": "zig-overlay",
|
|
||||||
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "mitchellh",
|
|
||||||
"repo": "zig-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
88
flake.nix
88
flake.nix
@@ -2,36 +2,92 @@
|
|||||||
description = "Nixos Config Flake";
|
description = "Nixos Config Flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
nix-darwin.url = "github:nix-darwin/nix-darwin/master";
|
||||||
|
nix-darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
nix-snapd.url = "github:nix-community/nix-snapd";
|
||||||
|
nix-snapd.inputs.pkgs-unstable.follows = "nixpkgs";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-24.11";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home-manager-unstable = {
|
||||||
|
url = "github:nix-community/home-manager/";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
nixvim = {
|
nixvim = {
|
||||||
url = "github:nix-community/nixvim/nixos-24.11";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
ghostty = {
|
nixos-hardware = {
|
||||||
url = "github:ghostty-org/ghostty";
|
url = "github:NixOS/nixos-hardware/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, nixvim, ghostty, ... }@inputs: {
|
outputs =
|
||||||
|
{ self,
|
||||||
|
home-manager,
|
||||||
|
home-manager-unstable,
|
||||||
|
nix-darwin,
|
||||||
|
nix-snapd,
|
||||||
|
nixos-hardware,
|
||||||
|
nixpkgs,
|
||||||
|
nixpkgs-unstable,
|
||||||
|
nixvim,
|
||||||
|
...
|
||||||
|
}@inputs:
|
||||||
|
let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
configPath = "/etc/nixos";
|
||||||
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
|
system = system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
default = nixpkgs.lib.nixosSystem {
|
buildbox = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {inherit inputs;};
|
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "buildbox";};
|
||||||
system = "x86_64-linux";
|
system = system;
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./hosts/buildbox/configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
{
|
];
|
||||||
environment.systemPackages = [
|
};
|
||||||
ghostty.packages.x86_64-linux.default
|
|
||||||
];
|
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
|
||||||
|
nix-snapd.nixosModules.default { services.snap.enable = true; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
eva-03 = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {inherit inputs pkgs-unstable configPath;} // {hostname = "eva-03";};
|
||||||
|
system = system;
|
||||||
|
modules = [
|
||||||
|
./hosts/eva-03/configuration.nix
|
||||||
|
inputs.home-manager.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
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
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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)\] '';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
151
home-manager/commands/commands.nix
Normal file
151
home-manager/commands/commands.nix
Normal file
@@ -0,0 +1,151 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
lib,
|
||||||
|
hostname,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./direnv.nix
|
||||||
|
./custom/custom.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
|
||||||
|
awscli2
|
||||||
|
b3sum
|
||||||
|
bat
|
||||||
|
btop
|
||||||
|
cbonsai
|
||||||
|
curl
|
||||||
|
dig
|
||||||
|
dust
|
||||||
|
# esptool
|
||||||
|
fd
|
||||||
|
fzf
|
||||||
|
ffmpeg-full
|
||||||
|
gemini-cli
|
||||||
|
git-filter-repo
|
||||||
|
graphviz
|
||||||
|
jq
|
||||||
|
kitty
|
||||||
|
lazygit
|
||||||
|
nix-du
|
||||||
|
nmap
|
||||||
|
ocamlPackages.utop
|
||||||
|
opencode
|
||||||
|
openconnect
|
||||||
|
openssl
|
||||||
|
ripgrep
|
||||||
|
s3cmd
|
||||||
|
# sage
|
||||||
|
termusic
|
||||||
|
timg
|
||||||
|
tldr
|
||||||
|
trippy
|
||||||
|
trivy
|
||||||
|
wget
|
||||||
|
wireguard-tools
|
||||||
|
yazi
|
||||||
|
yt-dlp
|
||||||
|
yubikey-manager
|
||||||
|
zstd
|
||||||
|
]
|
||||||
|
++ lib.optionals (hostname == "eva-01") [
|
||||||
|
# cli
|
||||||
|
parted
|
||||||
|
traceroute
|
||||||
|
|
||||||
|
# cyber
|
||||||
|
amass
|
||||||
|
bettercap
|
||||||
|
bloodhound
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
10
home-manager/commands/custom/build.nix
Normal file
10
home-manager/commands/custom/build.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# build.nix
|
||||||
|
let
|
||||||
|
# Import your nixpkgs channel. The <> syntax finds it automatically.
|
||||||
|
pkgs = import <nixpkgs> {
|
||||||
|
# Apply your overlay here
|
||||||
|
overlays = [ (import ./sage.nix) ];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
# This file now evaluates to exactly one thing: the sage package.
|
||||||
|
pkgs.sage
|
||||||
12
home-manager/commands/custom/custom.nix
Normal file
12
home-manager/commands/custom/custom.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
hostname,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(import ./sage.nix)
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
27
home-manager/commands/custom/sage.nix
Normal file
27
home-manager/commands/custom/sage.nix
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
final: prev: {
|
||||||
|
|
||||||
|
# We are adding a package named 'sage' to the package set
|
||||||
|
sage = prev.rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "sage";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = prev.fetchFromGitHub {
|
||||||
|
owner = "Rogue-King";
|
||||||
|
repo = "sage";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-nR0EhRJFUHwQHnJagXHkP/A1fGIoMZtXXuJf70/iDas=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Placeholder hash for cargo dependencies - the build will tell you the correct one.
|
||||||
|
cargoHash = "sha256-BXTEUGH2KB1gYl9cERVPbhAs0soezsSabg0nDedEjRI=";
|
||||||
|
#cargoLock.lockFile = ./Cargo.lock;
|
||||||
|
|
||||||
|
meta = with prev.lib; {
|
||||||
|
description = "A tool for elegant mathematics";
|
||||||
|
homepage = "https://github.com/Rogue-King/sage";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||||
|
maintainers = with maintainers; [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home-manager/commands/eza.nix
Normal file
12
home-manager/commands/eza.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs = {
|
||||||
|
eza = {
|
||||||
|
enable = true;
|
||||||
|
icons = "auto";
|
||||||
|
enableZshIntegration = true;
|
||||||
|
extraOptions = [
|
||||||
|
"--group-directories-first"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,15 +1,22 @@
|
|||||||
|
{
|
||||||
|
hostname,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs = {
|
programs = {
|
||||||
fastfetch = {
|
fastfetch = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
logo = {
|
logo = {
|
||||||
source = "/etc/nixos/home-manager/fastfetch/assets/evangelion-mecha-neon-genesis-desktop-wallpaper-cover.jpg";
|
|
||||||
|
source = lib.mkIf (hostname == "eva-01") "/etc/nixos/assets/pfp/eva-01.jpg";
|
||||||
type = "kitty";
|
type = "kitty";
|
||||||
height = 20;
|
height = 20;
|
||||||
width = 60;
|
width = 60;
|
||||||
padding = {
|
padding = {
|
||||||
top = 2; #2;
|
top = 2; # 2;
|
||||||
left = 2; # 3;
|
left = 2; # 3;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
38
home-manager/commands/git.nix
Normal file
38
home-manager/commands/git.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{
|
||||||
|
hostname,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
|
settings = {
|
||||||
|
user = {
|
||||||
|
name = "rogueking";
|
||||||
|
email = "miguel@muniz.org";
|
||||||
|
};
|
||||||
|
} // lib.optionalAttrs (! (lib.elem hostname [ "buildbox" ])) {
|
||||||
|
gpg = {
|
||||||
|
format = "ssh";
|
||||||
|
ssh = lib.optionalAttrs (hostname == "eva-02") {
|
||||||
|
program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} // 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
9
home-manager/commands/newsboat.nix
Normal file
9
home-manager/commands/newsboat.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
programs.newsboat = {
|
||||||
|
enable = true;
|
||||||
|
urls = [
|
||||||
|
{ url = "https://dev.to/feed"; }
|
||||||
|
{ url = "https://stackoverflow.blog/feed/"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
43
home-manager/commands/nixvim/config.nix
Normal file
43
home-manager/commands/nixvim/config.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
||||||
7
home-manager/commands/nixvim/default.nix
Normal file
7
home-manager/commands/nixvim/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./config.nix
|
||||||
|
./keymaps.nix
|
||||||
|
./plugins/default.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
129
home-manager/commands/nixvim/keymaps.nix
Normal file
129
home-manager/commands/nixvim/keymaps.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
68
home-manager/commands/nixvim/plugins/blink-cmp.nix
Normal file
68
home-manager/commands/nixvim/plugins/blink-cmp.nix
Normal 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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
47
home-manager/commands/nixvim/plugins/codecompanion.nix
Normal file
47
home-manager/commands/nixvim/plugins/codecompanion.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
56
home-manager/commands/nixvim/plugins/default.nix
Normal file
56
home-manager/commands/nixvim/plugins/default.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
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
|
||||||
|
];
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
11
home-manager/commands/nixvim/plugins/glance.nix
Normal file
11
home-manager/commands/nixvim/plugins/glance.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
glance = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
border.enable = true;
|
||||||
|
theme.mode = "darken";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home-manager/commands/nixvim/plugins/illuminate.nix
Normal file
14
home-manager/commands/nixvim/plugins/illuminate.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
illuminate.settings = {
|
||||||
|
enable = true;
|
||||||
|
delay = 100;
|
||||||
|
minCountToHighlight = 1;
|
||||||
|
modesAllowlist = [
|
||||||
|
"n"
|
||||||
|
"i"
|
||||||
|
"v"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
14
home-manager/commands/nixvim/plugins/indent-blankline.nix
Normal file
14
home-manager/commands/nixvim/plugins/indent-blankline.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
indent-blankline = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
scope = {
|
||||||
|
show_end = true;
|
||||||
|
show_exact_scope = true;
|
||||||
|
show_start = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
13
home-manager/commands/nixvim/plugins/lint.nix
Normal file
13
home-manager/commands/nixvim/plugins/lint.nix
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
lint = {
|
||||||
|
enable = true;
|
||||||
|
autoCmd = {
|
||||||
|
event = [
|
||||||
|
"InsertLeave"
|
||||||
|
"TextChanged"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
36
home-manager/commands/nixvim/plugins/lsp.nix
Normal file
36
home-manager/commands/nixvim/plugins/lsp.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{ 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;
|
||||||
|
eslint.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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
12
home-manager/commands/nixvim/plugins/scrollview.nix
Normal file
12
home-manager/commands/nixvim/plugins/scrollview.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
scrollview = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
signs_on_startup = [
|
||||||
|
"all"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
63
home-manager/commands/nixvim/plugins/startup.nix
Normal file
63
home-manager/commands/nixvim/plugins/startup.nix
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
startup = {
|
||||||
|
enable = true;
|
||||||
|
settings.parts = [
|
||||||
|
"header"
|
||||||
|
"body"
|
||||||
|
];
|
||||||
|
settings.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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
16
home-manager/commands/nixvim/plugins/telescope.nix
Normal file
16
home-manager/commands/nixvim/plugins/telescope.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
extensions.file-browser = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
hidden = {
|
||||||
|
file_browser = true;
|
||||||
|
folder_browser = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
45
home-manager/commands/nixvim/plugins/which-key.nix
Normal file
45
home-manager/commands/nixvim/plugins/which-key.nix
Normal 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"
|
||||||
|
]
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
90
home-manager/commands/starship.nix
Normal file
90
home-manager/commands/starship.nix
Normal 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
25
home-manager/commands/tmux.nix
Normal file
25
home-manager/commands/tmux.nix
Normal 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'";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
63
home-manager/commands/zsh.nix
Normal file
63
home-manager/commands/zsh.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB |
@@ -1,18 +1,27 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./cli-tools.nix
|
./commands/commands.nix
|
||||||
./fastfetch/fastfetch.nix
|
./programs/programs.nix
|
||||||
./direnv.nix
|
inputs.nixvim.homeModules.nixvim
|
||||||
./nixvim/nixvim.nix
|
];
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
|
||||||
];
|
|
||||||
|
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
home.username = "rogueking";
|
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
|
# This value determines the Home Manager release that your configuration is
|
||||||
# compatible with. This helps avoid breakage when a new Home Manager release
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
||||||
@@ -21,14 +30,18 @@
|
|||||||
# You should not change this value, even if you update Home Manager. If you do
|
# 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
|
# want to update the value, then make sure to first check the Home Manager
|
||||||
# release notes.
|
# 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;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Allow specific insecure packages
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
#"python3.12-ecdsa-0.19.1"
|
||||||
|
];
|
||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
50
home-manager/programs/ghostty/ghostty.nix
Normal file
50
home-manager/programs/ghostty/ghostty.nix
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
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 = [
|
||||||
|
"global:cmd+grave_accent=toggle_quick_terminal"
|
||||||
|
"super+shift+enter=new_window"
|
||||||
|
"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;
|
||||||
|
#};
|
||||||
|
}
|
||||||
38
home-manager/programs/hypr/hypridle.nix
Normal file
38
home-manager/programs/hypr/hypridle.nix
Normal 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!'";
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
164
home-manager/programs/hypr/hyprland.nix
Normal file
164
home-manager/programs/hypr/hyprland.nix
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
{ config, configPath, ... }:
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# === Monitor configuration ===
|
||||||
|
monitor = "eDP-1, 2560x1440@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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
48
home-manager/programs/hypr/hyprlock.nix
Normal file
48
home-manager/programs/hypr/hyprlock.nix
Normal 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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
275
home-manager/programs/hypr/waybar.nix
Normal file
275
home-manager/programs/hypr/waybar.nix
Normal 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;
|
||||||
|
}
|
||||||
|
''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
84
home-manager/programs/programs.nix
Normal file
84
home-manager/programs/programs.nix
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
{ 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
|
||||||
|
kdePackages.isoimagewriter
|
||||||
|
libreoffice-still
|
||||||
|
librewolf
|
||||||
|
localsend
|
||||||
|
lutris-unwrapped
|
||||||
|
meld
|
||||||
|
melonDS
|
||||||
|
moonlight-qt
|
||||||
|
nestopia-ue
|
||||||
|
nix-ld
|
||||||
|
obsidian
|
||||||
|
pandoc
|
||||||
|
prismlauncher
|
||||||
|
protonplus
|
||||||
|
protonup-qt
|
||||||
|
putty
|
||||||
|
pwninit
|
||||||
|
pwntools
|
||||||
|
qFlipper
|
||||||
|
r2modman
|
||||||
|
remmina
|
||||||
|
signal-desktop
|
||||||
|
spice
|
||||||
|
steam
|
||||||
|
steamcmd
|
||||||
|
swww
|
||||||
|
tor-browser
|
||||||
|
vesktop
|
||||||
|
vlc
|
||||||
|
wireshark
|
||||||
|
yubikey-agent
|
||||||
|
# rpi-imager
|
||||||
|
]
|
||||||
|
|
||||||
|
++ lib.optionals (hostname == "eva-01") [
|
||||||
|
calibre
|
||||||
|
sdrangel
|
||||||
|
sdrpp
|
||||||
|
sonic-visualiser
|
||||||
|
vscode
|
||||||
|
]
|
||||||
|
|
||||||
|
++ lib.optionals (hostname == "eva-02") [
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
++ lib.optionals (hostname == "eva-03") [
|
||||||
|
vscode
|
||||||
|
]);
|
||||||
|
|
||||||
|
# environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
|
||||||
|
}
|
||||||
278
home-manager/programs/rofi/rofi.nix
Normal file
278
home-manager/programs/rofi/rofi.nix
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
configPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
terminal = "ghostty";
|
||||||
|
package = pkgs.rofi.override {
|
||||||
|
plugins = [ pkgs.rofi-emoji ];
|
||||||
|
};
|
||||||
|
font = "JetBrainsMono Nerd Font 12";
|
||||||
|
plugins = [
|
||||||
|
pkgs.rofi-emoji
|
||||||
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,22 +2,42 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ config, pkgs, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
inputs,
|
||||||
|
configPath,
|
||||||
|
hostname,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
|
# (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.grub.enable = lib.mkDefault true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.grub.devices = [ "nodev" ];
|
||||||
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
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.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
@@ -52,16 +72,13 @@
|
|||||||
services.xserver.enable = false;
|
services.xserver.enable = false;
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
services.displayManager.sddm.enable = true;
|
# services.displayManager.sddm.enable = true;
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
# services.displayManager.sddm.wayland.enable = true;
|
||||||
services.desktopManager.plasma6.enable = true;
|
# services.desktopManager.plasma6.enable = true;
|
||||||
|
# services.displayManager.sddm.theme = "sddm-astronaut-theme";
|
||||||
|
|
||||||
services.tailscale.enable = true;
|
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
|
# Configure keymap in X11
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
@@ -72,28 +89,19 @@
|
|||||||
services.printing.enable = false;
|
services.printing.enable = false;
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
# Enable sound with pipewire.
|
||||||
hardware.pulseaudio.enable = false;
|
# hardware.pulseaudio.enable = false;
|
||||||
#hardware.pulseaudio = {
|
#hardware.pulseaudio = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# package = pkgs.pulseaudioFull;
|
# 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).
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
# services.xserver.libinput.enable = true;
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# VSCode-Server
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
@@ -104,14 +112,8 @@
|
|||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
|
#packages = [ inputs.home-manager.packages.${pkgs.system}.default ];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
bat
|
#apps
|
||||||
brave
|
#cli
|
||||||
btop
|
|
||||||
kdePackages.kate
|
|
||||||
localsend
|
|
||||||
neovim
|
|
||||||
tldr
|
|
||||||
vesktop
|
|
||||||
# thunderbird
|
# thunderbird
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -131,50 +133,73 @@
|
|||||||
polkitPolicyOwners = [ "rogueking" ];
|
polkitPolicyOwners = [ "rogueking" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Enable OpenSSH daemon
|
# 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"
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"qtwebengine-5.15.19"
|
||||||
|
"python3.12-ecdsa-0.19.1"
|
||||||
|
];
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
#apps
|
#apps
|
||||||
fprintd
|
#cider-2
|
||||||
jellyfin-media-player
|
#guacamole-client
|
||||||
kdePackages.bluedevil
|
#sddm-astronaut
|
||||||
kdePackages.bluez-qt
|
|
||||||
kdePackages.kdeconnect-kde
|
|
||||||
kdePackages.oxygen-sounds
|
|
||||||
kdePackages.partitionmanager
|
|
||||||
moonlight-qt
|
|
||||||
obsidian
|
|
||||||
prismlauncher
|
|
||||||
qFlipper
|
|
||||||
remmina
|
|
||||||
vesktop
|
|
||||||
wireshark
|
|
||||||
#cli tools
|
#cli tools
|
||||||
android-tools
|
btop
|
||||||
metasploit
|
curl
|
||||||
|
docker
|
||||||
|
dust
|
||||||
|
file
|
||||||
|
findutils
|
||||||
|
git
|
||||||
|
gparted
|
||||||
|
kopia
|
||||||
|
lazydocker
|
||||||
nettools
|
nettools
|
||||||
|
nix-prefetch-github
|
||||||
nmap
|
nmap
|
||||||
oh-my-zsh
|
|
||||||
openssh
|
openssh
|
||||||
thefuck
|
openssl
|
||||||
|
parted
|
||||||
|
plocate
|
||||||
|
ptunnel
|
||||||
|
tailscale
|
||||||
tlp
|
tlp
|
||||||
unzip
|
unzip
|
||||||
vim
|
vim
|
||||||
wget
|
|
||||||
];
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
nerdfonts
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
inherit
|
||||||
|
configPath
|
||||||
|
inputs
|
||||||
|
pkgs-unstable
|
||||||
|
hostname
|
||||||
|
;
|
||||||
|
};
|
||||||
users = {
|
users = {
|
||||||
"rogueking" = import ./home-manager/home.nix;
|
"rogueking" = import ./../../home-manager/home.nix;
|
||||||
};
|
};
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
};
|
};
|
||||||
@@ -213,6 +238,6 @@
|
|||||||
# this value at the release version of the first install of this system.
|
# this value at the release version of the first install of this system.
|
||||||
# Before changing this value read the documentation for this option
|
# Before changing this value read the documentation for this option
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
# (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?
|
||||||
|
|
||||||
}
|
}
|
||||||
35
hosts/buildbox/hardware-configuration.nix
Normal file
35
hosts/buildbox/hardware-configuration.nix
Normal 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;
|
||||||
|
}
|
||||||
341
hosts/eva-01/configuration.nix
Normal file
341
hosts/eva-01/configuration.nix
Normal 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,
|
||||||
|
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
|
||||||
|
goose-cli
|
||||||
|
hcxdumptool
|
||||||
|
hcxtools
|
||||||
|
kopia
|
||||||
|
lazydocker
|
||||||
|
metasploit
|
||||||
|
nettools
|
||||||
|
nix-prefetch-github
|
||||||
|
nmap
|
||||||
|
openssh
|
||||||
|
openssl
|
||||||
|
plocate
|
||||||
|
ptunnel
|
||||||
|
tailscale
|
||||||
|
tlp
|
||||||
|
unzip
|
||||||
|
vim
|
||||||
|
wifite2
|
||||||
|
wirelesstools
|
||||||
|
|
||||||
|
#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. It‘s 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?
|
||||||
|
|
||||||
|
}
|
||||||
@@ -24,7 +24,10 @@
|
|||||||
options = [ "fmask=0077" "dmask=0077" ];
|
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
|
# 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
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
193
hosts/eva-02/configuration.nix
Normal file
193
hosts/eva-02/configuration.nix
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
# 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
|
||||||
|
#cli
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
homebrew = {
|
||||||
|
enable = true;
|
||||||
|
user = "rogueking";
|
||||||
|
#onActivation.autoUpdate = true;
|
||||||
|
brews = [
|
||||||
|
"docker"
|
||||||
|
"esptool"
|
||||||
|
"git-lfs"
|
||||||
|
"huggingface-cli"
|
||||||
|
"putty"
|
||||||
|
"tailscale"
|
||||||
|
];
|
||||||
|
casks = [
|
||||||
|
"1password"
|
||||||
|
"1password-cli"
|
||||||
|
"bambu-studio"
|
||||||
|
"blender"
|
||||||
|
"brave-browser"
|
||||||
|
"ghostty"
|
||||||
|
"imhex"
|
||||||
|
"jellyfin-media-player"
|
||||||
|
"jordanbaird-ice"
|
||||||
|
"localsend"
|
||||||
|
"melonds"
|
||||||
|
"moonlight"
|
||||||
|
"obsidian"
|
||||||
|
"signal"
|
||||||
|
"steam"
|
||||||
|
"vesktop"
|
||||||
|
"visual-studio-code"
|
||||||
|
"vlc"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# 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
|
||||||
|
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;
|
||||||
|
}
|
||||||
349
hosts/eva-03/configuration.nix
Normal file
349
hosts/eva-03/configuration.nix
Normal file
@@ -0,0 +1,349 @@
|
|||||||
|
# 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,
|
||||||
|
configPath,
|
||||||
|
hostname,
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
pkgs-unstable,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
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;
|
||||||
|
#{
|
||||||
|
# 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";
|
||||||
|
|
||||||
|
# Enable Hyprland wayland compositor
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
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;
|
||||||
|
package = pkgs-unstable.tailscale;
|
||||||
|
};
|
||||||
|
|
||||||
|
#Enable Ollama daemon
|
||||||
|
#services.ollama.enable = true;
|
||||||
|
|
||||||
|
# Enable ollama
|
||||||
|
services.ollama = {
|
||||||
|
enable = false;
|
||||||
|
host = "0.0.0.0";
|
||||||
|
openFirewall = true;
|
||||||
|
acceleration = "cuda";
|
||||||
|
package = pkgs-unstable.ollama;
|
||||||
|
loadModels = [
|
||||||
|
"deepcoder:14b"
|
||||||
|
"gemma3:12b-it-qat"
|
||||||
|
"gemma3:27b-it-qat"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
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;
|
||||||
|
|
||||||
|
# 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
|
||||||
|
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
|
||||||
|
tlp
|
||||||
|
unzip
|
||||||
|
vim
|
||||||
|
wifite2
|
||||||
|
wirelesstools
|
||||||
|
|
||||||
|
#unstable
|
||||||
|
pkgs-unstable.crush
|
||||||
|
(pkgs-unstable.llama-cpp.override { cudaSupport = true; })
|
||||||
|
|
||||||
|
#fonts
|
||||||
|
nerd-fonts.hack
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit
|
||||||
|
# config
|
||||||
|
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;
|
||||||
|
|
||||||
|
# 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. It‘s 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?
|
||||||
|
|
||||||
|
}
|
||||||
40
hosts/eva-03/hardware-configuration.nix
Normal file
40
hosts/eva-03/hardware-configuration.nix
Normal 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" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/c8250302-044c-4be5-89b8-a07706a8dedf";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/E81D-0813";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/d8666f92-b7cf-40fb-b305-d16a84d79fa0"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user