Compare commits

..

25 Commits

Author SHA1 Message Date
72bf23b05b Added Wallpapers 2025-12-07 16:41:25 +01:00
d413b9de71 Added 2025-12-06 20:43:53 +01:00
620777f3fb Added 2025-12-04 16:04:59 +01:00
ffb6138ea7 Added 2025-12-03 23:21:31 +01:00
2aa1fff18b Added 2025-12-03 12:54:40 +01:00
4f04bde4f2 Added 2025-12-03 12:36:36 +01:00
64def5d8ae Added 2025-11-26 18:36:04 +01:00
4e6cb03e8c Added 2025-11-26 18:27:11 +01:00
fc18681a5d Added 2025-11-26 18:24:31 +01:00
6925f6a46b Added 2025-11-26 18:14:43 +01:00
f8fca9092d Added 2025-11-26 17:42:05 +01:00
c66dd11217 Added Raspi 4 Conf 2025-11-26 15:17:08 +01:00
bcdb501d4d Added 2025-11-26 15:13:37 +01:00
3953e25500 Added 2025-11-25 22:12:37 +01:00
a3b13c47ef Added 2025-11-19 21:06:46 +01:00
e6609fd6f4 Added 2025-11-14 09:07:37 +01:00
03aebab782 Renamed home to programs, moved definition to user level 2025-09-22 23:35:57 +02:00
d3266d1c1d Changed: Niri bindings, docker, isoConfig 2025-09-22 19:22:26 +02:00
b693e9d02c Changed: Niri bindings, docker 2025-09-22 18:45:47 +02:00
ac8850ae00 Added: Container Switch 2025-09-19 16:32:49 +02:00
49e4f0e7ef added: swaync 2025-09-16 18:37:46 +02:00
d4c4cd0d0a Added: Nvidia CTK to HP 2025-09-10 13:46:24 +02:00
f31ba5ad4d Fixed: Fastfetch, Added: Avante Nvim 2025-09-10 13:41:20 +02:00
982f2aed1e Removed Cached Files 2025-09-10 11:50:07 +02:00
d099faf68a Changed Desktop 2025-09-10 11:48:22 +02:00
205 changed files with 3218 additions and 1186 deletions

2
.gitignore vendored
View File

@@ -4,3 +4,5 @@ result/
.DS_Store .DS_Store
.pre-commit-config.yaml .pre-commit-config.yaml
logs/ logs/
avatar/pallete.*
cache/

View File

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
avatar/avatar_high.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
avatar/avatar_no_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
avatar/avatar_sloth.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
avatar/avatar_talking.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 MiB

BIN
avatar/avatar_talking.mp4 Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 MiB

Binary file not shown.

BIN
avatar/avatar_weather.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

442
flake.lock generated
View File

@@ -20,11 +20,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742213273, "lastModified": 1762356719,
"narHash": "sha256-0l0vDb4anfsBu1rOs94bC73Hub+xEivgBAo6QXl2MmU=", "narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "484b732195cc53f4536ce4bd59a5c6402b1e7ccf", "rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -38,11 +38,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1743801669, "lastModified": 1763110997,
"narHash": "sha256-RxQQQCGqywOPbdNrWGbFyFdcrdrXM4YBHW7vYt13OeI=", "narHash": "sha256-S2vF+3D/9vna3/vBV7LHiGUbp+ltPsQhvccIyim6VQg=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "07beb389d69a52c4dd5895da9553463c3740a26a", "rev": "e6928cdd3dd20636326c2756d2bc8fd1cd825768",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -54,11 +54,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1747046372,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -99,6 +99,45 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1762980239,
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"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"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -128,16 +167,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743387206, "lastModified": 1763416652,
"narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=", "narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146", "rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312",
"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"
} }
@@ -158,11 +196,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742215578, "lastModified": 1753964049,
"narHash": "sha256-zfs71PXVVPEe56WEyNi2TJQPs0wabU4WAlq0XV7GcdE=", "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "2fd36421c21aa87e2fe3bee11067540ae612f719", "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -187,11 +225,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739049071, "lastModified": 1762462052,
"narHash": "sha256-3+7TpXMrbsUXSwgr5VAKAnmkzMb6JO+Rvc9XRb5NMg4=", "narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "175c6b29b6ff82100539e7c4363a35a02c74dd73", "rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -205,8 +243,8 @@
"aquamarine": "aquamarine", "aquamarine": "aquamarine",
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics", "hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
@@ -216,11 +254,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1742860753, "lastModified": 1763540034,
"narHash": "sha256-ItOsU1v6CZNe6spfKtJ+cpVr0S87jq69PYe3lpOLzjI=", "narHash": "sha256-TogNk567BTZib1XiYheW04ELxNB2bhee6G4SgphRqmA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "f7ba86d1f335112ae0d13548947ddbd76b1477b6", "rev": "fbb31503f1b69402eeda81ba75a547c862c88bf2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -229,6 +267,52 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1762755186,
"narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "66356e20a8ed348aa49c1b9ceace786e224225b3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-plugins": { "hyprland-plugins": {
"inputs": { "inputs": {
"hyprland": [ "hyprland": [
@@ -246,11 +330,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742861859, "lastModified": 1763484609,
"narHash": "sha256-lbdHyp2+NoyciCJBtBt3Cgm2dDvoHvTdCRMbmwJoUmk=", "narHash": "sha256-rkxg7+bWmgOxCf4B9ED+Z4SuOO46sbtz9qgIBrYfZRc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "1f332c09a2382cb23da0f69a6f504f8b33433831", "rev": "1bc5b0253fc950c46145713ccb46750aba56ea6f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -271,11 +355,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1738422629, "lastModified": 1759610243,
"narHash": "sha256-5v+bv75wJWvahyM2xcMTSNNxmV8a7hb01Eey5zYnBJw=", "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "755aef8dab49d0fc4663c715fa4ad221b2aedaed", "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -284,74 +368,6 @@
"type": "github" "type": "github"
} }
}, },
"hyprland-qt-support": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprland-qtutils",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"hyprland-qtutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-qtutils",
"systems"
]
},
"locked": {
"lastModified": 1737634706,
"narHash": "sha256-nGCibkfsXz7ARx5R+SnisRtMq21IQIhazp6viBU8I/A=",
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"rev": "8810df502cdee755993cb803eba7b23f189db795",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qt-support",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprland-qt-support": "hyprland-qt-support",
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-qtutils",
"hyprlang",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1739048983,
"narHash": "sha256-REhTcXq4qs3B3cCDtLlYDz0GZvmsBSh947Ub6pQWGTQ=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "3504a293c8f8db4127cb0f7cfc1a318ffb4316f8",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": { "hyprlang": {
"inputs": { "inputs": {
"hyprutils": [ "hyprutils": [
@@ -368,11 +384,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741191527, "lastModified": 1763254292,
"narHash": "sha256-kM+11Nch47Xwfgtw2EpRitJuORy4miwoMuRi5tyMBDY=", "narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "72df3861f1197e41b078faa3e38eedd60e00018d", "rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -381,6 +397,58 @@
"type": "github" "type": "github"
} }
}, },
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1762463729,
"narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "88483bdee5329ec985f0c8f834c519cd18cfe532",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": { "hyprutils": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -393,11 +461,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741534688, "lastModified": 1763323331,
"narHash": "sha256-EV3945SnjOCuRVbGRghsWx/9D89FyshnSO1Q6/TuQ14=", "narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "dd1f720cbc2dbb3c71167c9598045dd3261d27b3", "rev": "0c6411851cc779d551edc89b83966696201611aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -418,11 +486,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739870480, "lastModified": 1755184602,
"narHash": "sha256-SiDN5BGxa/1hAsqhgJsS03C3t2QrLgBT8u+ENJ0Qzwc=", "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "206367a08dc5ac4ba7ad31bdca391d098082e64b", "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -431,6 +499,34 @@
"type": "github" "type": "github"
} }
}, },
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1754860581,
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.1.1",
"repo": "ixx",
"type": "github"
}
},
"nixcord": { "nixcord": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
@@ -438,11 +534,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1755307498, "lastModified": 1763223362,
"narHash": "sha256-6AXJWZnW/Y9qxlblabRx3NeMtfeMGicndefYEolzgtg=", "narHash": "sha256-iH+tM4MmtYMfWuWoo6KIc7Al+zQL13f3ScJloqSKyAs=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "a171d05a26467a74c66138ac83f1dd1fb07e4a3e", "rev": "35c173408a25cae1c5af23b9d4fd80a181a395d4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -453,11 +549,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1743583204, "lastModified": 1762111121,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=", "narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434", "rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -484,11 +580,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1742669843, "lastModified": 1763283776,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=", "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb", "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -516,27 +612,27 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1743576891, "lastModified": 1763421233,
"narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=", "narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "44a69ed688786e98a101f02b712c313f1ade37ab", "rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1751984180, "lastModified": 1762977756,
"narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=", "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9807714d6944a957c2e036f84b0ff8caf9930bc0", "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -546,6 +642,52 @@
"type": "github" "type": "github"
} }
}, },
"nixvim": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"nuschtosSearch": "nuschtosSearch",
"systems": "systems_3"
},
"locked": {
"lastModified": 1763565747,
"narHash": "sha256-FgCL7pEFgZjaYoiDbY+f9fAwHqgVNSZEkcLUvTnhwHw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "82bc02466cccb7594aef296aea128b9b59621efe",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixvim",
"type": "github"
}
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1761730856,
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
"owner": "NuschtOS",
"repo": "search",
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"repo": "search",
"type": "github"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -556,11 +698,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1742649964, "lastModified": 1763319842,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -577,21 +719,21 @@
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"nixcord": "nixcord", "nixcord": "nixcord",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"spicetify-nix": "spicetify-nix", "nixvim": "nixvim",
"unstable": "unstable" "spicetify-nix": "spicetify-nix"
} }
}, },
"spicetify-nix": { "spicetify-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_5",
"systems": "systems_2" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1751776600, "lastModified": 1763267524,
"narHash": "sha256-75wd/aSvSoXUVd/buwI+Gsqx6LdmBVMbdXw+tCV1u58=", "narHash": "sha256-CywB4iCpGr4CYZAD+WboFwBQ7Wnc7LdfSemFWuH/1Ro=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "54fad36eeae085f4a6ce4522bc351705b9c0c58a", "rev": "cf33e39bd1a21993a28ffee8be433e212ecf346a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -630,19 +772,33 @@
"type": "github" "type": "github"
} }
}, },
"unstable": { "systems_3": {
"locked": { "locked": {
"lastModified": 1756787288, "lastModified": 1681028828,
"narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nixos", "owner": "nix-systems",
"repo": "nixpkgs", "repo": "default",
"rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nix-systems",
"ref": "nixos-unstable", "repo": "default",
"repo": "nixpkgs", "type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github" "type": "github"
} }
}, },
@@ -674,11 +830,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741934139, "lastModified": 1761431178,
"narHash": "sha256-ZhTcTH9FoeAtbPfWGrhkH7RjLJZ7GeF18nygLAMR+WE=", "narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "150b0b6f52bb422a1b232a53698606fe0320dde0", "rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
"type": "github" "type": "github"
}, },
"original": { "original": {

105
flake.nix
View File

@@ -15,8 +15,13 @@
inputs = { inputs = {
# Core # Core
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Editor
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# Desktop ENV # Desktop ENV
hyprland.url = "github:hyprwm/Hyprland"; hyprland.url = "github:hyprwm/Hyprland";
@@ -31,7 +36,7 @@
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
# User Config # User Config
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
}; };
@@ -42,11 +47,11 @@
nixpkgs, nixpkgs,
home-manager, home-manager,
catppuccin, catppuccin,
nixvim,
... ...
}: }:
let let
system = "x86_64-linux";
# Common Configuration # Common Configuration
commonModules = [ commonModules = [
@@ -72,23 +77,20 @@
]; ];
commonHomeManagerConfig = commonHomeManagerConfig =
{ { username, monitorSetup }:
username,
monitorSetup ? "single",
}:
{ {
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
backupFileExtension = "backup"; backupFileExtension = "backup";
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs; inherit inputs username monitorSetup;
inherit username monitorSetup;
}; };
users.${username} = import ./users/${username}/home.nix; users.${username} = import ./users/${username}/home.nix;
sharedModules = [ sharedModules = [
inputs.catppuccin.homeModules.catppuccin inputs.catppuccin.homeModules.catppuccin
inputs.nixcord.homeModules.nixcord inputs.nixcord.homeModules.nixcord
inputs.nixvim.homeModules.nixvim
]; ];
}; };
}; };
@@ -100,13 +102,18 @@
username, username,
system ? "x86_64-linux", system ? "x86_64-linux",
monitorSetup ? "single", monitorSetup ? "single",
containerization ? "none",
extraModules ? [ ], extraModules ? [ ],
}: }:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
inherit system; inherit system;
specialArgs = { specialArgs = {
inherit inputs; inherit
inherit username monitorSetup; inputs
username
monitorSetup
containerization
;
}; };
modules = modules =
commonModules commonModules
@@ -115,59 +122,87 @@
./users/${username}/nixos.nix ./users/${username}/nixos.nix
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
(commonHomeManagerConfig { inherit username monitorSetup; }) (commonHomeManagerConfig { inherit username monitorSetup; })
./modules/containerization
# {
# nixpkgs.overlays = [
# inputs.rust-overlay.overlays.default
# ] ++ builtins.attrValues (import ./overlays);
# }
] ]
++ extraModules; ++ extraModules;
}; };
# ISO configuration # ISO configuration
isoConfig = nixpkgs.lib.nixosSystem { mkIsoConfig =
inherit system; { system }:
modules = [ nixpkgs.lib.nixosSystem {
(import (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")) inherit system;
( modules = [
{ pkgs, ... }: (import (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"))
{ (
environment.systemPackages = with pkgs; [ { pkgs, ... }:
neovim {
git environment.systemPackages = with pkgs; [
wget neovim
curl git
]; wget
nix.settings.experimental-features = [ curl
"nix-command" ];
"flakes" nix.settings.experimental-features = [
]; "nix-command"
} "flakes"
) ];
]; }
}; )
];
};
in in
{ {
packages.${system}.default = self.nixosConfigurations.iso.config.system.build.isoImage; # ISO and Image Defaults
packages.x86_64-linux.iso = self.nixosConfigurations.iso.config.system.build.isoImage;
packages.x86_64-linux.default = self.packages.x86_64-linux.iso;
nixosConfigurations = { nixosConfigurations = {
iso = isoConfig; iso = mkIsoConfig { system = "x86_64-linux"; };
qemu = mkSystem { qemu = mkSystem {
hostname = "qemu"; hostname = "qemu";
username = "phil"; username = "phil";
monitorSetup = "single"; monitorSetup = "single";
containerization = "none";
}; };
m920q = mkSystem { m920q = mkSystem {
hostname = "m920q"; hostname = "m920q";
username = "phil"; username = "phil";
monitorSetup = "dual"; monitorSetup = "dual";
containerization = "podman";
}; };
hp15-n028sg = mkSystem { hp15-n028sg = mkSystem {
hostname = "hp15-n028sg"; hostname = "hp15-n028sg";
username = "phil"; username = "phil";
monitorSetup = "single"; monitorSetup = "single";
containerization = "docker";
}; };
cloud = mkSystem {
hostname = "cluster.cyperpunk.de";
username = "phil";
monitorSetup = "none";
containerization = "podman";
};
rpi4-1 = mkSystem {
system = "aarch64-linux";
hostname = "rpi4-1";
username = "phil";
monitorSetup = "none";
containerization = "podman";
};
}; };
}; };

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
kdePackages.dolphin
libsForQt5.kio-extras
kio-fuse
];
}

View File

@@ -1,11 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
krusader
krename
kdiff3
# kdePackages.kompare
xxdiff
];
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
progams.spacefm.enable = true;
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
}

View File

@@ -1,48 +0,0 @@
{ pkgs, ... }:
{
programs.alacritty = {
enable = true;
settings = {
# Font
font = {
normal = {
family = "FiraCode Nerd Font Mono"; # Change to your preferred Nerd Font
style = "Regular";
};
bold = {
family = "FiraCode Nerd Font Mono";
style = "Bold";
};
italic = {
family = "FiraCode Nerd Font Mono";
style = "Italic";
};
size = 11;
};
window = {
opacity = 0.6; # Adjust between 0.0 (fully transparent) and 1.0 (opaque)
padding = {
x = 10;
y = 10;
};
decorations = "full"; # none, transparent, full, buttonless
title = "Alacritty";
dynamic_title = true;
};
};
};
fonts = {
fontconfig = {
enable = true;
defaultFonts = {
monospace = [ "FiraCode Nerd Font Mono" ];
};
};
};
home.packages = with pkgs; [
fira-code-nerdfont
];
}

View File

@@ -1,29 +0,0 @@
{ monitorSetup, ... }:
{
imports = [
./kitty.nix # Terminal
./hyprland.nix
./hypridle.nix
./hyprlock.nix
./hyprpaper.nix
./rofi # App Launcher
./mako.nix # Notifyer
./cava.nix # Music Visualizer
];
programs.waybar =
if monitorSetup == "single" then
import ../../home/hyprland/waybar/single.nix
else if monitorSetup == "dual" then
import ../../home/hyprland/waybar/dual.nix
else
{ };
home.file.".config/waybar" = {
source = ./waybar/configs;
# copy the scripts directory recursively
recursive = true;
};
home.file.".config/hypr/hyprland.conf".enable = false;
}

View File

@@ -1,45 +0,0 @@
{ lib, ... }:
{
programs.kitty = lib.mkForce {
enable = true;
settings = {
themeFile = "Catppuccin-Mocha";
confirm_os_window_close = 0;
dynamic_background_opacity = true;
enable_audio_bell = false;
mouse_hide_wait = "-1.0";
window_padding_width = 10;
background_opacity = "0.8";
background_blur = 5;
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
symbol_map =
let
mappings = [
"U+23FB-U+23FE"
"U+2B58"
"U+E200-U+E2A9"
"U+E0A0-U+E0A3"
"U+E0B0-U+E0BF"
"U+E0C0-U+E0C8"
"U+E0CC-U+E0CF"
"U+E0D0-U+E0D2"
"U+E0D4"
"U+E700-U+E7C5"
"U+F000-U+F2E0"
"U+2665"
"U+26A1"
"U+F400-U+F4A8"
"U+F67C"
"U+E000-U+E00A"
"U+F300-U+F313"
"U+E5FA-U+E62B"
];
in
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
};
};
}

View File

@@ -1,16 +0,0 @@
{ pkgs, ... }:
{
services.mako = {
enable = true;
font = "FiraCodeNerdFontPropo 12";
borderSize = 4;
borderRadius = 8;
defaultTimeout = 5000;
extraConfig = ''
[app-name=Spotify]
border-color=#a6e3a1
'';
};
}

View File

@@ -1,16 +0,0 @@
{
pkgs,
...
}:
{
programs.waybar = {
enable = true;
package = pkgs.waybar;
};
home.file.".config/waybar" = {
source = ./configs;
# copy the scripts directory recursively
recursive = true;
};
}

View File

@@ -1,42 +0,0 @@
let
common = import ./common.nix;
hyprland = import ./hyprland.nix;
in
{
enable = true;
settings = {
mainBar =
{
layer = "top";
position = "top";
height = 30;
output = [ "DP-1" ];
modules-left = [
"custom/nixicon"
"clock"
];
modules-center = [
"hyprland/workspaces"
];
modules-right = [
"group/hardware"
];
}
// common.widgets
// hyprland.widgets;
secondBar =
{
layer = "top";
position = "top";
height = 30;
output = [ "HDMI-A-2" ];
modules-left = [ "group/media" ];
modules-center = [ "hyprland/workspaces" ];
modules-right = [ "custom/weather" ];
}
// common.widgets
// hyprland.widgets;
};
}

View File

@@ -1,5 +0,0 @@
{ pkgs, ... }:
{
programs.niri.enable = true;
}

View File

@@ -1,58 +0,0 @@
{
lib,
pkgs,
catppuccin-bat,
...
}:
{
home.packages = with pkgs; [
];
programs = {
tmux = {
enable = true;
clock24 = true;
keyMode = "vi";
extraConfig = "mouse on";
};
bat = {
enable = true;
config = {
pager = "less -FR";
theme = "catppuccin-mocha";
};
themes = {
# https://raw.githubusercontent.com/catppuccin/bat/main/Catppuccin-mocha.tmTheme
catppuccin-mocha = {
src = catppuccin-bat;
file = "Catppuccin-mocha.tmTheme";
};
};
};
btop.enable = true; # replacement of htop/nmon
eza.enable = true; # A modern replacement for ls
jq.enable = true; # A lightweight and flexible command-line JSON processor
ssh.enable = true;
aria2.enable = true;
skim = {
enable = true;
enableZshIntegration = true;
defaultCommand = "rg --files --hidden";
changeDirWidgetOptions = [
"--preview 'exa --icons --git --color always -T -L 3 {} | head -200'"
"--exact"
];
};
};
services = {
#syncthing.enable = true;
# auto mount usb drives
udiskie.enable = true;
};
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install sqlitebrowser (DB Browser for SQLite)
home.packages = with pkgs; [
beekeeper-studio
];
}

View File

@@ -1,24 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
# C / C++
clang
#gcc
lua
# Rust
cargo
rustc
# Zig
zig
#python
python314
];
programs.go = {
enable = true;
packages = { };
};
}

View File

@@ -1,11 +0,0 @@
{
imports = [
./git.nix
./neovim
./fstl.nix
./openscad.nix
./sqllite_browser.nix
./compilers.nix
./beekeeper-studio.nix
];
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install fstl
home.packages = with pkgs; [
fstl
];
}

View File

@@ -1,13 +0,0 @@
{
pkgs,
...
}:
{
home.packages = [ pkgs.gh ];
programs.git = {
enable = true;
# ... Other options ...
};
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install OpenSCAD
home.packages = with pkgs; [
openscad
];
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install sqlitebrowser (DB Browser for SQLite)
home.packages = with pkgs; [
sqlitebrowser
];
}

View File

@@ -1,6 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
airshipper
];
}

View File

@@ -1,10 +0,0 @@
{
pkgs,
config,
...
}:
{
home.packages = with pkgs; [
itch
];
}

View File

@@ -1,10 +0,0 @@
{
pkgs,
config,
...
}:
{
home.packages = with pkgs; [
lutris
];
}

View File

@@ -1,14 +0,0 @@
{
pkgs,
config,
...
}:
{
home.packages = with pkgs; [
xonotic
# armagetron
# freeciv
# mindustry
# openra
];
}

View File

@@ -1,18 +0,0 @@
{
pkgs,
config,
...
}:
{
/*
home.packages = with pkgs; [
steam
];
*/
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
}

View File

@@ -1,7 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
audacity
yt-dlp
];
}

View File

@@ -1,12 +0,0 @@
{
pkgs,
config,
...
}:
{
home.packages = with pkgs; [
# images
imv
];
}

View File

@@ -1,14 +0,0 @@
{
pkgs,
config,
...
}:
# media - control and enjoy audio/video
{
imports = [
./audio.nix
./image.nix
./webcam.nix
];
}

View File

@@ -1,14 +0,0 @@
{ pkgs, ... }:
{
programs.obs-studio = {
enable = true;
#enableVirtualCamera = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs
obs-vkcapture
obs-backgroundremoval
obs-pipewire-audio-capture
];
};
}

View File

@@ -1,39 +0,0 @@
{ pkgs, inputs, ... }:
{
imports = [
inputs.spicetify-nix.homeManagerModules.default
];
programs.spicetify =
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
in
{
enable = true;
spotifyPackage = pkgs.spotify;
theme = spicePkgs.themes.catppuccin;
colorScheme = "mocha";
enabledExtensions = with spicePkgs.extensions; [
bookmark
fullAppDisplay
keyboardShortcut
popupLyrics
shuffle
autoVolume
betterGenres
adblock
wikify
songStats
];
enabledCustomApps = with spicePkgs.apps; [
lyricsPlus
newReleases
marketplace
];
#enabledSnippets = with spicePkgs.snippets; [ ];
};
}

View File

@@ -1,21 +0,0 @@
{ pkgs, ... }:
{
# Install Blender
home.packages = with pkgs; [
blender
];
# Optional: Install specific versions of Blender (e.g., LTS)
# home.packages = with pkgs; [
# blender-bin # Latest stable release
# blender-lts
# ];
# Optional: Install Blender plugins
# home.packages = with pkgs; [
# blender
# blender-addons.io-scene-gltf2 # Example GLTF exporter/importer
# # Add other Blender addons here
# ];
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
home.programs.geary.enable = true;
}

View File

@@ -1,13 +0,0 @@
{ pkgs, ... }:
let
logseq-patch = pkgs.logseq.override {
electron_27 = pkgs.electron_34;
};
in
{
home.packages = with pkgs; [
logseq-patch
logseq
];
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ notesnook ];
}

View File

@@ -1,16 +0,0 @@
{ pkgs, ... }:
{
# Install Obsidian
home.packages = with pkgs; [
obsidian
];
# Optional: You might want to configure Obsidian's data directory.
# By default, Obsidian stores its data in ~/Obsidian.
# You can change this using environment variables, but it's less common to manage this declaratively.
# Example (you might not need this):
# environment.variables = {
# OBSIDIAN_VAULT_PATH = "/path/to/your/vaults";
# };
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.libsForQt5.okular ];
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install OnlyOffice Desktop Editors
home.packages = with pkgs; [
onlyoffice-desktopeditors
];
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install Slic3r
home.packages = with pkgs; [
slic3r
];
}

View File

@@ -1,4 +0,0 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.trilium-desktop ];
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install Element Desktop
home.packages = with pkgs; [
element-desktop
];
}

View File

@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
# Install Teamspeak Desktop
home.packages = with pkgs; [
teamspeak3
# teamspeak6-client
];
}

View File

@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
# Install Telegram Desktop
home.packages = with pkgs; [
telegram-desktop
telegram-cli
];
}

View File

@@ -1,18 +0,0 @@
{ lib, ... }:
{
programs.nixcord = {
enable = true;
discord = lib.mkForce { enable = false; };
vesktop.enable = true;
config = {
useQuickCss = true;
plugins = {
betterFolders.enable = true;
betterRoleContext.enable = true;
mentionAvatars.enable = true;
# Add other plugins as needed
};
};
};
}

View File

@@ -1,8 +0,0 @@
{ pkgs, ... }:
{
# Install Element Desktop
home.packages = with pkgs; [
zapzap
];
}

View File

@@ -1,14 +0,0 @@
{
pkgs,
config,
...
}:
{
programs.chromium = {
enable = true;
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
extensions = [
# {id = "";} // extension id, query from chrome web store
];
};
}

View File

@@ -1,12 +0,0 @@
{
pkgs,
config,
username,
...
}:
{
programs.firefox = {
enable = false;
profiles.${username} = { };
};
}

View File

@@ -1,13 +0,0 @@
{
pkgs,
config,
username,
...
}:
{
programs.floorp = {
enable = true;
profiles.${username} = { };
};
}

View File

@@ -1,9 +0,0 @@
{ pkgs, ... }:
{
imports = [
./qt.nix
# ./gtk.nix
];
}

View File

@@ -1,19 +0,0 @@
{ pkgs, ... }:
{
home.packages = with pkgs.libsForQt5; [
qt5ct
qtstyleplugin-kvantum
];
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "kvantum";
};
xdg.configFile = {
"Kvantum/ArcDark".source = "${pkgs.arc-kde-theme}/share/Kvantum/ArcDark";
"Kvantum/kvantum.kvconfig".text = "[General]\ntheme=ArcDark";
};
}

View File

@@ -14,11 +14,9 @@
../../modules/localisation.nix ../../modules/localisation.nix
../../modules/openssh.nix ../../modules/openssh.nix
../../modules/pipewire.nix ../../modules/pipewire.nix
../../modules/podman.nix
../../modules/services.nix ../../modules/services.nix
../../modules/regreet/regreet.nix ../../modules/regreet/regreet.nix
../../modules/plymouth.nix ../../modules/plymouth.nix
../../modules/file_managers/spacefm.nix
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];

View File

@@ -52,4 +52,5 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.nvidia-container-toolkit.enable = true;
} }

View File

@@ -1,12 +1,7 @@
# 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).
{ {
pkgs, lib,
... ...
}: }:
{ {
imports = [ imports = [
../../modules/system.nix ../../modules/system.nix
@@ -17,8 +12,6 @@
../../modules/localisation.nix ../../modules/localisation.nix
../../modules/openssh.nix ../../modules/openssh.nix
../../modules/pipewire.nix ../../modules/pipewire.nix
#../../modules/podman.nix
../../modules/docker.nix
../../modules/services.nix ../../modules/services.nix
../../modules/regreet/regreet.nix ../../modules/regreet/regreet.nix
../../modules/plymouth.nix ../../modules/plymouth.nix
@@ -26,7 +19,7 @@
../../modules/appimage.nix ../../modules/appimage.nix
../../modules/qemu.nix ../../modules/qemu.nix
../../modules/thunderbird.nix ../../modules/thunderbird.nix
../../modules/canon_eos_550d.nix # ../../modules/canon_eos_550d.nix
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
@@ -37,38 +30,41 @@
systemd-boot.enable = true; systemd-boot.enable = true;
}; };
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
networking = { networking = {
hostName = "nix-desktop"; hostName = "nix-desktop";
networkmanager.enable = true; networkmanager = {
#useDHCP = lib.mkForce true; enable = true;
#dhcpcd.enable = true;
interfaces = {
eno1.ipv4.addresses = [
{
address = "192.168.2.40";
prefixLength = 24;
}
];
}; };
useNetworkd = false;
defaultGateway = { useDHCP = false;
address = "192.168.2.1"; wireless = {
interface = "eno1"; enable = false; # Disable wpa_supplicant, NetworkManager handles WiFi
}; };
};
nameservers = [ # Configure static IP for wired connection via NetworkManager
"192.168.2.2" # Create this file: /etc/NetworkManager/system-connections/eno1.nmconnection
"1.1.1.1" environment.etc."NetworkManager/system-connections/eno1.nmconnection" = {
"8.8.8.8" text = ''
]; [connection]
id=eno1
type=ethernet
interface-name=eno1
[ipv4]
method=manual
address1=192.168.2.40/24
gateway=192.168.2.1
dns=192.168.2.2;1.1.1.1;8.8.8.8;
[ipv6]
method=auto
'';
mode = "0600";
}; };
hardware.graphics.enable = true; hardware.graphics.enable = true;
system.stateVersion = "25.11"; # Did you read the comment? system.stateVersion = "25.11"; # Did you read the comment?
environment.systemPackages = [
pkgs.onlyoffice-bin
];
} }

View File

@@ -4,7 +4,6 @@
{ {
config, config,
lib, lib,
pkgs,
modulesPath, modulesPath,
... ...
}: }:

View File

@@ -14,11 +14,9 @@
../../modules/localisation.nix ../../modules/localisation.nix
../../modules/openssh.nix ../../modules/openssh.nix
../../modules/pipewire.nix ../../modules/pipewire.nix
../../modules/podman.nix
../../modules/services.nix ../../modules/services.nix
../../modules/regreet/regreet.nix ../../modules/regreet/regreet.nix
../../modules/plymouth.nix ../../modules/plymouth.nix
../../modules/file_managers/spacefm.nix
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix

16
hosts/rpi4-1/default.nix Normal file
View File

@@ -0,0 +1,16 @@
{ ... }:
{
imports = [
../rpi4
];
networking = {
hostName = "nix-rpi1";
interfaces.end0.ipv4.addresses = [
{
address = "192.168.2.35";
prefixLength = 24;
}
];
};
}

51
hosts/rpi4/default.nix Normal file
View File

@@ -0,0 +1,51 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./fan-controll.nix
];
boot.loader = {
grub.enable = false;
generic-extlinux-compatible.enable = true;
};
networking = {
networkmanager.enable = false;
useNetworkd = true;
useDHCP = false;
nameservers = [
"192.168.2.2"
"1.1.1.1"
"8.8.8.8"
];
defaultGateway = {
address = "192.168.2.1";
interface = "end0";
};
wireless = {
enable = true;
userControlled.enable = false;
networks = {
"LANFRED".psk = "CooleJungsWG";
};
};
};
# Set your time zone.
time.timeZone = "Europe/Berlin";
networking.firewall.enable = false;
system.stateVersion = "25.11"; # Did you read the comment?
}

View File

@@ -0,0 +1,50 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
(python3.withPackages (ps: [ ps.smbus2 ]))
];
# Fan control service
systemd.services.argon-fan = {
description = "Argon40 Fan Control via I2C";
after = [ "multi-user.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
Restart = "always";
ExecStart = pkgs.writeScript "argon-fan.py" ''
#!${pkgs.python3.withPackages (ps: [ ps.smbus2 ])}/bin/python3
import smbus2
import time
import subprocess
bus = smbus2.SMBus(1)
while True:
try:
# Get temperature
temp_output = subprocess.check_output(['${pkgs.libraspberrypi}/bin/vcgencmd', 'measure_temp']).decode()
temp = float(temp_output.replace("temp=","").replace("'C\n",""))
# Set fan speed based on temperature (0-100)
if temp < 55:
speed = 0
elif temp < 60:
speed = 25
elif temp < 65:
speed = 50
else:
speed = 100
bus.write_byte(0x1a, speed)
print(f"Temp: {temp}°C, Fan: {speed}%")
except Exception as e:
print(f"Error: {e}")
time.sleep(30)
'';
};
};
}

View File

@@ -0,0 +1,26 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
};
fileSystems."/storage" =
{ device = "/dev/disk/by-label/STORAGE";
fsType = "ext4";
options = [ "nofail" ];
};
swapDevices = [
{ device = "/swapfile";
size = 4096;
}
];
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
hardware.i2c.enable = true;
}

View File

@@ -0,0 +1,41 @@
{
lib,
pkgs,
containerization ? "none",
...
}:
let
# Import the appropriate containerization module based on the parameter
containerModule =
if containerization == "podman" then
import ./podman.nix
else if containerization == "docker" then
import ./docker.nix
else if containerization == "none" then
{ }
else
throw "Unknown containerization type: ${containerization}. Valid options are: podman, docker, none";
in
{
imports = [ containerModule ];
# Common packages and configuration for all systems
environment.systemPackages = with pkgs; [
# Remove the curly braces {}
dive # docker layer viewer
tailscale # VPN
];
virtualisation.containers.enable = true;
virtualisation.oci-containers.containers = {
/*
container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};
*/
};
}

View File

@@ -0,0 +1,18 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
docker-compose
lazydocker # docker tui
];
virtualisation.docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
virtualisation.oci-containers.backend = "docker";
}

View File

@@ -0,0 +1,17 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
podman-compose # docker-compose alternative
podman-tui # status of containers in terminal
podman-desktop # Desktop client
];
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
virtualisation.oci-containers.backend = "podman";
}

View File

@@ -1,36 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Virtualisation
docker-compose # docker-compose alternative
dive # docker layer viewer
tailscale # Vpn
];
# Virtualisation
virtualisation = {
containers.enable = true;
docker = {
enable = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
oci-containers = {
backend = "docker";
containers = {
/*
container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};
*/
};
};
};
}

View File

@@ -1,20 +1,95 @@
{ pkgs, ... }: { pkgs, lib, ... }:
{ {
environment.systemPackages = with pkgs; [
font-manager
gnome-characters
];
fonts = { fonts = {
packages = with pkgs; [ packages = with pkgs; [
# icon fonts # icon fonts
material-icons material-icons
material-black-colors
material-design-icons material-design-icons
icomoon-feather icomoon-feather
nixos-icons
# normal fonts noto-fonts-color-emoji
noto-fonts
noto-fonts-emoji
nerdfonts # Microsoft
corefonts
vista-fonts
# All Nerd Fonts
nerd-fonts._0xproto
nerd-fonts._3270
nerd-fonts.agave
nerd-fonts.anonymice
nerd-fonts.arimo
nerd-fonts.aurulent-sans-mono
nerd-fonts.bigblue-terminal
nerd-fonts.bitstream-vera-sans-mono
nerd-fonts.blex-mono
nerd-fonts.caskaydia-cove
nerd-fonts.caskaydia-mono
nerd-fonts.code-new-roman
nerd-fonts.comic-shanns-mono
nerd-fonts.commit-mono
nerd-fonts.cousine
nerd-fonts.d2coding
nerd-fonts.daddy-time-mono
nerd-fonts.dejavu-sans-mono
nerd-fonts.droid-sans-mono
nerd-fonts.envy-code-r
nerd-fonts.fantasque-sans-mono
nerd-fonts.fira-code
nerd-fonts.fira-mono
nerd-fonts.geist-mono
nerd-fonts.go-mono
nerd-fonts.gohufont
nerd-fonts.hack
nerd-fonts.hasklug
nerd-fonts.heavy-data
nerd-fonts.hurmit
nerd-fonts.im-writing
nerd-fonts.inconsolata
nerd-fonts.inconsolata-go
nerd-fonts.inconsolata-lgc
nerd-fonts.intone-mono
nerd-fonts.iosevka
nerd-fonts.iosevka-term
nerd-fonts.iosevka-term-slab
nerd-fonts.jetbrains-mono
nerd-fonts.lekton
nerd-fonts.liberation
nerd-fonts.lilex
nerd-fonts.martian-mono
nerd-fonts.meslo-lg
nerd-fonts.monaspace
nerd-fonts.monofur
nerd-fonts.monoid
nerd-fonts.mononoki
nerd-fonts.noto
nerd-fonts.open-dyslexic
nerd-fonts.overpass
nerd-fonts.profont
nerd-fonts.proggy-clean-tt
nerd-fonts.recursive-mono
nerd-fonts.roboto-mono
nerd-fonts.sauce-code-pro
nerd-fonts.shure-tech-mono
nerd-fonts.space-mono
nerd-fonts.symbols-only
nerd-fonts.terminess-ttf
nerd-fonts.tinos
nerd-fonts.ubuntu
nerd-fonts.ubuntu-mono
nerd-fonts.ubuntu-sans
nerd-fonts.victor-mono
nerd-fonts.zed-mono
]; ];
fontDir.enable = true;
# use fonts specified by user rather than default ones # use fonts specified by user rather than default ones
enableDefaultPackages = false; enableDefaultPackages = false;
@@ -23,16 +98,16 @@
# B&W emojis that would sometimes show instead of some Color emojis # B&W emojis that would sometimes show instead of some Color emojis
fontconfig.defaultFonts = { fontconfig.defaultFonts = {
serif = [ serif = [
"Noto Serif" "FiraCode Nerd Font"
"Noto Color Emoji" #"Noto Color Emoji"
]; ];
sansSerif = [ sansSerif = [
"Noto Sans" "FiraCode Nerd Font"
"Noto Color Emoji" #"Noto Color Emoji"
]; ];
monospace = [ monospace = [
"JetBrainsMono Nerd Font" "FiraCode Nerd Font"
"Noto Color Emoji" #"Noto Color Emoji"
]; ];
emoji = [ "Noto Color Emoji" ]; emoji = [ "Noto Color Emoji" ];
}; };

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
# Set your time zone. # Set your time zone.
time.timeZone = "Europe/Berlin"; time.timeZone = "Europe/Berlin";

View File

@@ -2,7 +2,7 @@
{ {
# Enable sound with pipewire. # Enable sound with pipewire.
#sound.enable = true; #sound.enable = true;
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
environment.systemPackages = with pkgs; [ pamixer ]; environment.systemPackages = with pkgs; [ pamixer ];
services.pipewire = { services.pipewire = {
enable = true; enable = true;

View File

@@ -1,36 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
# Virtualisation
podman-compose # docker-compose alternative
dive # docker layer viewer
podman-tui # status of containers in terminal
podman-desktop # Desktop client
tailscale # Vpn
];
# Virtualisation
virtualisation = {
containers.enable = true;
podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
};
oci-containers = {
backend = "podman";
containers = {
/*
container-name = {
image = "image";
autoStart = true;
ports = [ "127.0.0.1:1234:1234" ];
};
*/
};
};
};
}

View File

@@ -3,10 +3,21 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
qemu qemu
quickemu quickemu
quickgui
nemu
]; ];
systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
boot.binfmt.emulatedSystems = [ boot.binfmt.emulatedSystems = [
"aarch64-linux" "aarch64-linux"
"riscv64-linux" "riscv64-linux"
]; ];
virtualisation.libvirtd.enable = true;
environment.etc."qemu/bridge.conf".text = ''
allow br0
'';
} }

View File

@@ -1,6 +1,4 @@
{ {
pkgs,
username,
lib, lib,
... ...
}: }:
@@ -17,9 +15,7 @@
}; };
*/ */
services.displayManager = { environment.variables.QT_QPA_PLATFORMTHEME = "qt6ct";
sessionPackages = [ pkgs.hyprland ];
};
environment.etc = { environment.etc = {
"greetd/background.png".source = ../../wallpapers/lucy_with_cat.png; "greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
@@ -27,6 +23,23 @@
hyprland hyprland
fish fish
''; '';
"greetd/wayland-sessions/hyprland.desktop".text = ''
[Desktop Entry]
Name=Hyprland
Comment=Hyprland WM
Exec=Hyprland
Type=Application
'';
/*
"greetd/wayland-sessions/niri.desktop".text = ''
[Desktop Entry]
Name=Niri
Comment=Hyprland WM
Exec=niri
Type=Application
'';
*/
}; };
programs.regreet = { programs.regreet = {
@@ -47,7 +60,7 @@
GTK = { GTK = {
application_prefer_dark_theme = true; application_prefer_dark_theme = true;
cursor_theme_name = "Adwaita"; cursor_theme_name = "Adwaita";
font_name = lib.mkForce "FiraCodeNerdFontPropo 12"; font_name = lib.mkForce "FiraCodeNerdFontProto 12";
icon_theme_name = lib.mkForce "materialdesignicons"; icon_theme_name = lib.mkForce "materialdesignicons";
theme_name = "Adwaita"; theme_name = "Adwaita";
}; };

View File

@@ -14,11 +14,12 @@
printing.enable = true; printing.enable = true;
power-profiles-daemon.enable = true; power-profiles-daemon.enable = true;
logind.extraConfig = '' #logind.settings.Login = ''
HandlePowerKey=ignore # HandlePowerKey=ignore
HandleSuspendKey=ignore # HandleSuspendKey=ignore
HandleHibernateKey=ignore # HandleHibernateKey=ignore
''; # '';
flatpak.enable = true;
}; };
} }

View File

@@ -1,7 +1,7 @@
{ {
pkgs, pkgs,
lib,
username, username,
lib,
... ...
}: }:
{ {
@@ -18,6 +18,25 @@
]; ];
}; };
xdg = {
portal = {
enable = true;
xdgOpenUsePortal = true;
config = {
common.default = [ "gtk" ];
hyprland.default = [
"gtk"
"hyprland"
];
};
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
};
programs.steam.enable = true; programs.steam.enable = true;
programs.dconf.enable = true; programs.dconf.enable = true;
@@ -25,31 +44,37 @@
# $ nix search wget # $ nix search wget
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# Bare minimum # Bare minimum
vim
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget wget
git git
cmatrix
tdf
figlet
tty-clock
lolcat
# System tools # System tools
sysstat sysstat
lm_sensors # for `sensors` command lm_sensors # for `sensors` command
ethtool ethtool
pciutils # lspci pciutils # lspci:wwith
usbutils # lsusb usbutils # lsusb
lshw lshw
nvme-cli nvme-cli
smartmontools smartmontools
bluez bluez
impala
hping
# Graphics # Graphics
libGL libGL
glxinfo mesa-demos
# Rizz # Rizz
fastfetch fastfetch
cpufetch cpufetch
hyfetch hyfetch
ramfetch ramfetch
neofetch
ghfetch ghfetch
libnotify libnotify
@@ -63,6 +88,9 @@
iftop # network monitor iftop # network monitor
iperf3 # network tester iperf3 # network tester
nmap # network discovery nmap # network discovery
rustscan
rustup
perl
eza # ls replacement eza # ls replacement
curl curl
dnsutils dnsutils
@@ -76,11 +104,13 @@
zstd zstd
gnupg gnupg
fzf fzf
tabiew
# nix related # nix related
nix-index nix-index
nix-tree nix-tree
nix-health nix-health
direnv
# Archives # Archives
zip zip
@@ -88,12 +118,13 @@
p7zip p7zip
xz xz
postman
#teamspeak6-client
]; ];
security.pam.services.swaylock = { };
security.polkit.enable = true; security.polkit.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
environment.sessionVariables = {
NIXOS_OZONE_WL = "1";
};
programs.ssh.startAgent = true; programs.ssh.startAgent = true;
} }

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
programs.thunderbird.enable = true; programs.thunderbird.enable = true;
} }

10
overlays/default.nix Normal file
View File

@@ -0,0 +1,10 @@
let
dir = ./.;
files = builtins.filter (f: f != "default.nix") (builtins.attrNames (builtins.readDir dir));
in
builtins.listToAttrs (
map (f: {
name = f;
value = import "${dir}/${f}";
}) files
)

View File

@@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
config,
... ...
}: }:
{ {

View File

@@ -0,0 +1,26 @@
{
username,
...
}:
{
programs.floorp = {
enable = true;
profiles.${username} = {
extensions.force = true;
settings = {
"browser.startup.homepage" = "https://www.cyperpunk.de";
"browser.search.region" = "DE";
"browser.search.isUS" = false;
"general.useragent.locale" = "de-DE";
"browser.bookmarks.showMobileBookmarks" = true;
"browser.newtabpage.pinned" = [
{
title = "Cyperpunk";
url = "https://www.cyperpunk.de/";
}
];
};
};
};
}

View File

@@ -0,0 +1,112 @@
{ lib, ... }:
{
programs.kitty = lib.mkForce {
enable = true;
settings = {
themeFile = "Catppuccin-Mocha";
confirm_os_window_close = 0;
dynamic_background_opacity = true;
enable_audio_bell = false;
mouse_hide_wait = "-1.0";
window_padding_width = 10;
background_opacity = "0.8";
background_blur = 5;
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
symbol_map =
let
mappings = [
"U+23FB-U+23FE"
"U+2B58"
"U+E200-U+E2A9"
"U+E0A0-U+E0A3"
"U+E0B0-U+E0BF"
"U+E0C0-U+E0C8"
"U+E0CC-U+E0CF"
"U+E0D0-U+E0D2"
"U+E0D4"
"U+E700-U+E7C5"
"U+F000-U+F2E0"
"U+2665"
"U+26A1"
"U+F400-U+F4A8"
"U+F67C"
"U+E000-U+E00A"
"U+F300-U+F313"
"U+E5FA-U+E62B"
];
in
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
};
};
programs.starship = {
enable = true;
settings = {
add_newline = true;
command_timeout = 500;
format = "$username$hostname $directory $git_branch$git_status\n$character ";
right_format = "$cmd_duration";
username = {
style_user = "bold #cba6f7";
style_root = "bold #f38ba8";
format = "[](bold #a6e3a1)[$user]($style)";
show_always = true;
};
hostname = {
style = "bold #74c7ec";
format = "[@](bold #fab387)[$hostname]($style)";
ssh_only = false;
};
directory = {
style = "bold #a6e3a1";
truncation_length = 0;
truncation_symbol = "";
format = "[ ](bold #f38ba8)[$path ]($style)";
};
git_branch = {
format = "[$branch]($style)";
style = "bold #f9e2af";
};
# Git status module settings
git_status = {
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
style = "bold #a6e3a1";
conflicted = "";
untracked = "";
modified = "";
staged = "";
renamed = "";
deleted = "";
};
# Command duration module
cmd_duration = {
format = "[$duration]($style)";
style = "bold #cdd6f4";
min_time = 5000; # Only show if command takes longer than 5 seconds
};
# Character module (prompt symbol)
character = {
success_symbol = "[ ](bold #a6e3a1)";
error_symbol = "[ ](bold #f38ba8)";
};
nix_shell = {
format = "[$symbol$state( \($name\))]($style)";
symbol = "U+02744";
style = "bold #89dceb";
};
};
};
}

View File

@@ -54,7 +54,6 @@ require("mason-lspconfig").setup({
"nil_ls", "nil_ls",
"rust_analyzer", "rust_analyzer",
"pylsp", "pylsp",
"stylelint-lsp",
}, },
automatic_installation = true, automatic_installation = true,
}) })
@@ -83,16 +82,32 @@ cmp.setup({
}), }),
}) })
local lspconfig = require("lspconfig")
local capabilities = require("cmp_nvim_lsp").default_capabilities() local capabilities = require("cmp_nvim_lsp").default_capabilities()
-- Keymaps
vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, {}) vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, {})
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {}) vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
-- Setup language servers -- Set default capabilities for all servers
lspconfig.lua_ls.setup({ vim.lsp.config("*", {
capabilities = capabilities, capabilities = capabilities,
})
-- Configure lua_ls with specific settings
vim.lsp.config("lua_ls", {
cmd = { "lua-language-server" },
root_markers = {
".luarc.json",
".luarc.jsonc",
".luacheckrc",
".stylua.toml",
"stylua.toml",
"selene.toml",
"selene.yml",
".git",
},
settings = { settings = {
Lua = { Lua = {
runtime = { version = "LuaJIT" }, runtime = { version = "LuaJIT" },
@@ -103,15 +118,20 @@ lspconfig.lua_ls.setup({
}, },
}) })
lspconfig.nil_ls.setup({ capabilities = capabilities }) -- Configure stylelint_lsp with custom cmd and filetypes
lspconfig.rust_analyzer.setup({ capabilities = capabilities }) vim.lsp.config("stylelint_lsp", {
lspconfig.pylsp.setup({ capabilities = capabilities }) cmd = { "stylelint-lsp", "--stdio" },
lspconfig.stylelint_lsp.setup({ filetypes = { "css", "scss", "rasi" },
cmd = { "stylelint-lsp", "--stdio" }, root_markers = { ".stylelintrc", ".stylelintrc.json", "stylelint.config.js", ".git" },
filetypes = { "css", "scss", "rasi" },
capabilities = vim.lsp.protocol.make_client_capabilities(),
}) })
-- Enable all language servers
vim.lsp.enable("lua_ls")
vim.lsp.enable("nil_ls")
vim.lsp.enable("rust_analyzer")
vim.lsp.enable("pylsp")
vim.lsp.enable("stylelint_lsp")
-- Conform -- Conform
require("conform").setup({ require("conform").setup({
formatters_by_ft = { formatters_by_ft = {

View File

@@ -25,7 +25,15 @@
alpha-nvim alpha-nvim
cheatsheet-nvim cheatsheet-nvim
toggleterm-nvim toggleterm-nvim
avante-nvim # AI Stuff
# AI Stuff
avante-nvim
plenary-nvim
nui-nvim
dressing-nvim
nvim-web-devicons
img-clip-nvim
render-markdown-nvim
# Add conform.nvim as a custom plugin # Add conform.nvim as a custom plugin
(pkgs.vimUtils.buildVimPlugin { (pkgs.vimUtils.buildVimPlugin {
@@ -39,16 +47,17 @@
}) })
# Add telescope.vim as a custom plugin # Add telescope.vim as a custom plugin
(pkgs.vimUtils.buildVimPlugin { /*
name = "telescope-nvim"; (pkgs.vimUtils.buildVimPlugin {
src = pkgs.fetchFromGitHub { name = "telescope-nvim";
owner = "nvim-telescope"; src = pkgs.fetchFromGitHub {
repo = "telescope.nvim"; owner = "nvim-telescope";
rev = "0.1.8"; repo = "telescope.nvim";
sha256 = "sha256-e1ulhc4IIvUgpjKQrSqPY4WpXuez6wlxL6Min9U0o5Q="; rev = "0.1.8";
}; sha256 = "sha256-e1ulhc4IIvUgpjKQrSqPY4WpXuez6wlxL6Min9U0o5Q=";
}) };
})
*/
]; ];
extraLuaConfig = builtins.readFile (./. + "/config.lua"); extraLuaConfig = builtins.readFile (./. + "/config.lua");
@@ -68,5 +77,11 @@
nil nil
rust-analyzer rust-analyzer
python3Packages.python-lsp-server python3Packages.python-lsp-server
# Avante
curl
cargo
clang
zig
rustc
]; ];
} }

View File

@@ -0,0 +1,12 @@
{ ... }:
{
services.mako = {
enable = true;
settings = {
font = "FiraCodeNerdFontPropo 12";
border-size = 4;
border-radius = 8;
default-timeout = 5000;
};
};
}

View File

@@ -0,0 +1,110 @@
{ ... }:
{
services.swaync = {
enable = true;
settings = {
positionX = "center";
positionY = "center";
layer = "overlay";
control-center-layer = "top";
layer-shell = true;
cssPriority = "user";
control-center-margin-top = 100;
control-center-margin-bottom = 200;
control-center-margin-right = 0;
control-center-margin-left = 0;
notification-2fa-action = true;
notification-inline-replies = false;
notification-icon-size = 64;
notification-body-image-height = 100;
notification-body-image-width = 200;
widgets = [
"mpris"
"volume"
"inhibitors"
"title"
"dnd"
"notifications"
];
widget-config = {
mpris = {
blacklist = [ ];
autohide = false;
show-album-art = "always";
loop-carousel = false;
image-size = 96;
image-radius = 12;
};
volume = {
label = "gain";
show-per-app = false;
empty-list-label = "Nothin' is playin'";
expand-button-label = "";
collaps-button-label = "";
};
title = {
text = "Hollerin'";
clear-all-button = true;
button-text = "Sheriff's Pardon";
};
dnd = {
text = "Let'er rest";
};
menubar = {
"menu#power" = {
label = "Power";
position = "right";
animation-type = "slide_down";
animation-duration = 250;
actions = [
{
label = "Bolt It";
command = "hyprlock";
}
{
label = "Ride Out";
command = "hyprctl dispatch exit";
}
{
label = "Circle Back";
command = "systemctl reboot";
}
{
label = "Bet Down the Horses";
command = "systemctl poweroff";
}
];
};
"buttons#media" = {
position = "left";
actions = [
{
label = "Play/Pause";
command = "playerctl play-pause";
}
{
label = "Next";
command = "playerctl next";
}
{
label = "Previous";
command = "playerctl previous";
}
];
};
};
notifications = {
vexpand = true;
};
};
};
};
}

View File

Before

Width:  |  Height:  |  Size: 9.2 MiB

After

Width:  |  Height:  |  Size: 9.2 MiB

View File

@@ -0,0 +1,29 @@
[dmenu]
dmenu_command = rofi -theme ~/.config/rofi/network.rasi
active_chars = ==
highlight = True
highlight_fg =
highlight_bg =
highlight_bold = True
compact = False
pinentry =
wifi_icons = 󰤯󰤟󰤢󰤥󰤨
format = {name:<{max_len_name}s} {sec:<{max_len_sec}s} {icon:>4}
list_saved = False
prompt = Networks
[dmenu_passphrase]
obscure = False
obscure_color = #222222
[pinentry]
description = Get network password
prompt = Password:
[editor]
terminal = kitty
gui_if_available = True
gui = nm-connection-editor
[nmdm]
rescan_delay = 5

View File

@@ -0,0 +1,140 @@
* {
rosewater: #f5e0dc;
flamingo: #f2cdcd;
pink: #f5c2e7;
mauve: #cba6f7;
red: #f38ba8;
maroon: #eba0ac;
peach: #fab387;
yellow: #f9e2af;
green: #a6e3a1;
teal: #94e2d5;
sky: #89dceb;
sapphire: #74c7ec;
blue: #89b4fa;
lavender: #b4befe;
text: #cdd6f4;
subtext1: #bac2de;
subtext0: #a6adc8;
overlay2: #9399b2;
overlay1: #7f849c;
overlay0: #6c7086;
surface2: #585b70;
surface1: #45475a;
surface0: #313244;
base: #1e1e2e;
mantle: #181825;
crust: #11111b;
}
* {
background-color: transparent;
text-color: #cdd6f4;
font: "JetBrainsMono Nerd Font 12";
}
window {
width: 408px;
height: 728px;
background-color: @base;
border: 2px solid;
border-color: @sapphire;
border-radius: 12px;
padding: 20px;
/* Center on screen */
location: center;
anchor: center;
x-offset: 0;
y-offset: 0;
background-image: url("~/.config/rofi/smoking_girl.png", both);
background-color: rgba(0, 0, 0, 0.5);
}
mainbox {
spacing: 15px;
children: [ "inputbar", "message", "listview" ];
}
inputbar {
padding: 12px;
border-radius: 8px;
background-color: @mantle;
children: [ "prompt", "entry" ];
spacing: 10px;
}
prompt {
text-color: @sky;
font: "JetBrainsMono Nerd Font Bold 13";
}
entry {
placeholder: "Search networks...";
placeholder-color: @surface2;
text-color: @text;
}
message {
padding: 10px;
border-radius: 8px;
background-color: @mantle;
text-color: @text;
}
listview {
lines: 10;
scrollbar: true;
spacing: 5px;
padding: 5px;
}
scrollbar {
width: 4px;
handle-width: 4px;
handle-color: @blue;
border-radius: 4px;
background-color: @mantle;
}
element {
padding: 12px 15px;
border-radius: 2px;
background-color: rgba(30, 30, 46, 0.6);
text-color: @text;
spacing: 12px;
}
element selected {
background-color: @blue;
border: 2px solid;
border-color: @teal;
text-color: @mantle;
}
element-text {
background-color: transparent;
text-color: inherit;
vertical-align: 0.5;
}
element-icon {
size: 20px;
background-color: transparent;
}
/* Active/Connected network highlight */
element selected.active {
background-color: @sapphire;
border-color: @sky;
}
/* Urgent (disconnected/error) state */
element.urgent {
background-color: @red;
}
element selected.urgent {
background-color: @red;
border-color: @peach;
}

Some files were not shown because too many files have changed in this diff Show More