Compare commits
25 Commits
6804d95a08
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 72bf23b05b | |||
| d413b9de71 | |||
| 620777f3fb | |||
| ffb6138ea7 | |||
| 2aa1fff18b | |||
| 4f04bde4f2 | |||
| 64def5d8ae | |||
| 4e6cb03e8c | |||
| fc18681a5d | |||
| 6925f6a46b | |||
| f8fca9092d | |||
| c66dd11217 | |||
| bcdb501d4d | |||
| 3953e25500 | |||
| a3b13c47ef | |||
| e6609fd6f4 | |||
| 03aebab782 | |||
| d3266d1c1d | |||
| b693e9d02c | |||
| ac8850ae00 | |||
| 49e4f0e7ef | |||
| d4c4cd0d0a | |||
| f31ba5ad4d | |||
| 982f2aed1e | |||
| d099faf68a |
2
.gitignore
vendored
@@ -4,3 +4,5 @@ result/
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
.pre-commit-config.yaml
|
.pre-commit-config.yaml
|
||||||
logs/
|
logs/
|
||||||
|
avatar/pallete.*
|
||||||
|
cache/
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
BIN
avatar/avatar_high.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
avatar/avatar_no_bg.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
avatar/avatar_sloth.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
avatar/avatar_sloth_no_bg.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
avatar/avatar_talking.gif
Normal file
|
After Width: | Height: | Size: 23 MiB |
BIN
avatar/avatar_talking.mp4
Normal file
BIN
avatar/avatar_talking_no_bg.gif
Normal file
|
After Width: | Height: | Size: 20 MiB |
BIN
avatar/avatar_talking_no_bg.mp4
Normal file
BIN
avatar/avatar_weather.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
BIN
avatar/avatar_weather_no_bg.png
Normal file
|
After Width: | Height: | Size: 2.4 MiB |
442
flake.lock
generated
@@ -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
@@ -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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
kdePackages.dolphin
|
|
||||||
libsForQt5.kio-extras
|
|
||||||
kio-fuse
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
krusader
|
|
||||||
krename
|
|
||||||
kdiff3
|
|
||||||
# kdePackages.kompare
|
|
||||||
xxdiff
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
progams.spacefm.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
'';
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.niri.enable = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install sqlitebrowser (DB Browser for SQLite)
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
beekeeper-studio
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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 = { };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./git.nix
|
|
||||||
./neovim
|
|
||||||
./fstl.nix
|
|
||||||
./openscad.nix
|
|
||||||
./sqllite_browser.nix
|
|
||||||
./compilers.nix
|
|
||||||
./beekeeper-studio.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install fstl
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
fstl
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = [ pkgs.gh ];
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# ... Other options ...
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install OpenSCAD
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
openscad
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install sqlitebrowser (DB Browser for SQLite)
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
sqlitebrowser
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
airshipper
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
itch
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
lutris
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
xonotic
|
|
||||||
# armagetron
|
|
||||||
# freeciv
|
|
||||||
# mindustry
|
|
||||||
# openra
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
steam
|
|
||||||
];
|
|
||||||
*/
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
audacity
|
|
||||||
yt-dlp
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# images
|
|
||||||
imv
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
# media - control and enjoy audio/video
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./audio.nix
|
|
||||||
./image.nix
|
|
||||||
./webcam.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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; [ ];
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
# ];
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.programs.geary.enable = true;
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
logseq-patch = pkgs.logseq.override {
|
|
||||||
electron_27 = pkgs.electron_34;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
logseq-patch
|
|
||||||
logseq
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [ notesnook ];
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
# };
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = [ pkgs.libsForQt5.okular ];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install OnlyOffice Desktop Editors
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
onlyoffice-desktopeditors
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install Slic3r
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
slic3r
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = [ pkgs.trilium-desktop ];
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install Element Desktop
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
element-desktop
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install Teamspeak Desktop
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
teamspeak3
|
|
||||||
# teamspeak6-client
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install Telegram Desktop
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
telegram-desktop
|
|
||||||
telegram-cli
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Install Element Desktop
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
zapzap
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.chromium = {
|
|
||||||
enable = true;
|
|
||||||
commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
|
|
||||||
extensions = [
|
|
||||||
# {id = "";} // extension id, query from chrome web store
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.firefox = {
|
|
||||||
enable = false;
|
|
||||||
profiles.${username} = { };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.floorp = {
|
|
||||||
enable = true;
|
|
||||||
profiles.${username} = { };
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./qt.nix
|
|
||||||
# ./gtk.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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?
|
||||||
|
|
||||||
|
}
|
||||||
50
hosts/rpi4/fan-controll.nix
Normal 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)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
26
hosts/rpi4/hardware-configuration.nix
Normal 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;
|
||||||
|
}
|
||||||
41
modules/containerization/default.nix
Normal 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" ];
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
}
|
||||||
18
modules/containerization/docker.nix
Normal 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";
|
||||||
|
}
|
||||||
17
modules/containerization/podman.nix
Normal 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";
|
||||||
|
}
|
||||||
@@ -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" ];
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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" ];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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" ];
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
|
'';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
programs.thunderbird.enable = true;
|
programs.thunderbird.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
10
overlays/default.nix
Normal 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
|
||||||
|
)
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
config,
|
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
26
programs/wm/common/floorp.nix
Normal 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/";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
112
programs/wm/common/kitty.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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 = {
|
||||||
@@ -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
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
12
programs/wm/common/notifier/mako.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
font = "FiraCodeNerdFontPropo 12";
|
||||||
|
border-size = 4;
|
||||||
|
border-radius = 8;
|
||||||
|
default-timeout = 5000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
110
programs/wm/common/notifier/swaync.nix
Normal 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;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 9.2 MiB After Width: | Height: | Size: 9.2 MiB |
29
programs/wm/common/rofi/configs/config.ini
Normal 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
|
||||||
140
programs/wm/common/rofi/configs/network.rasi
Normal 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;
|
||||||
|
}
|
||||||