added host: lolcathost
This commit is contained in:
parent
2a0373dc73
commit
be6926fb0f
24 changed files with 1176 additions and 1090 deletions
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
6
README.md
Normal file → Executable file
6
README.md
Normal file → Executable file
|
|
@ -65,6 +65,12 @@ https://www.reddit.com/r/unixporn/comments/vkcasz/i3gaps_i_prefer_light_mode/
|
||||||
If their colour scheme was a little less white I'd love it but overall one of my favourites every
|
If their colour scheme was a little less white I'd love it but overall one of my favourites every
|
||||||
|
|
||||||
|
|
||||||
|
### Wallpaper Sources
|
||||||
|
1. https://www.wallpaperflare.com/
|
||||||
|
2. https://alphacoders.com
|
||||||
|
specifically: https://alphacoders.com/lofi
|
||||||
|
|
||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
1. https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles
|
1. https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles
|
||||||
The simplicity of their layout is amazing, was really good to pick out small modules and learn how something works / is configured.
|
The simplicity of their layout is amazing, was really good to pick out small modules and learn how something works / is configured.
|
||||||
|
|
|
||||||
370
flake.lock
generated
Normal file → Executable file
370
flake.lock
generated
Normal file → Executable file
|
|
@ -33,6 +33,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"devshell": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728330715,
|
||||||
|
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "devshell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -64,19 +85,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_3": {
|
"flake-compat_3": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696426674,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
"type": "github"
|
"revCount": 57,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"type": "tarball",
|
||||||
"repo": "flake-compat",
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_4": {
|
"flake-compat_4": {
|
||||||
|
|
@ -95,6 +114,91 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_5": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504689,
|
||||||
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1726560853,
|
||||||
|
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"git-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"nixvim",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730302582,
|
||||||
|
"narHash": "sha256-W1MIJpADXQCgosJZT8qBYLRuZls2KSiKdpnTVdKBuvU=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "af8a16fe5c264f5e9e18bcee2859b40a656876cf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -117,6 +221,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gitignore_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"git-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"grub2-themes": {
|
"grub2-themes": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
|
|
@ -142,11 +268,32 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729551526,
|
"lastModified": 1730633670,
|
||||||
"narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=",
|
"narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "5ec753a1fc4454df9285d8b3ec0809234defb975",
|
"rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730633670,
|
||||||
|
"narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -198,11 +345,11 @@
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729657195,
|
"lastModified": 1730800743,
|
||||||
"narHash": "sha256-YGk7oeyyfvZs4d8qAyMBPg2J/euYK48hPiI6PLKEa30=",
|
"narHash": "sha256-DmlaerjZowNAc/NCrVHKwvAMBJYPVFx4YLs0Ad2Jo5g=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "Hyprland",
|
"repo": "Hyprland",
|
||||||
"rev": "6e0aadc585c6d9fdaaebfa5853adbf9610897c82",
|
"rev": "e3882b23d09aad7f5c3a708536c87b062f3b0d8d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -315,17 +462,66 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ixx": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"nixvim",
|
||||||
|
"nuschtosSearch",
|
||||||
|
"flake-utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nuschtosSearch",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729544999,
|
||||||
|
"narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "ixx",
|
||||||
|
"rev": "65c207c92befec93e22086da9456d3906a4e999c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"ref": "v0.0.5",
|
||||||
|
"repo": "ixx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730600078,
|
||||||
|
"narHash": "sha256-BoyFmE59HDF3uybBySsWVoyjNuHvz3Wv8row/mSb958=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "4652874d014b82cb746173ffc64f6a70044daa7e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixcord": {
|
"nixcord": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730107956,
|
"lastModified": 1730720546,
|
||||||
"narHash": "sha256-Ohwk5/RGhGjDXaD4v0Yc40J/79gHRcD92mKWY+6qHJU=",
|
"narHash": "sha256-5147A6X0MH6u/YDxLe+Nnva3oxfLQanC716LarG/uoo=",
|
||||||
"owner": "kaylorben",
|
"owner": "kaylorben",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "5dcb476b924ad08ffd8521cca812052605cb5974",
|
"rev": "e3e27c77316f7526b1a846778ae9c759c9377611",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -336,11 +532,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730370246,
|
"lastModified": 1730808093,
|
||||||
"narHash": "sha256-UD2XmS6IWT+G/scUpPItb0dNijT5Dxa7WMuVqRhiaxU=",
|
"narHash": "sha256-oOenwoxpzQsBNi7KltgnXqq6e0+CxlfNXKn3k27w6cQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "88f31ac8837ab15748102da8bbc6e96a9330be0d",
|
"rev": "c1a390f74b2c93f69a6805142f11a215a689cec1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -368,11 +564,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729413321,
|
"lastModified": 1730531603,
|
||||||
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -384,11 +580,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730170245,
|
"lastModified": 1730768919,
|
||||||
"narHash": "sha256-PRq4vJjDa+m1mNwkV9H7zVzMhuMqsHJrTGx0iJZ0e0w=",
|
"narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "30c9efeef01e2ad4880bff6a01a61dd99536b3c9",
|
"rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -400,11 +596,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729413321,
|
"lastModified": 1730531603,
|
||||||
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -416,11 +612,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727634051,
|
"lastModified": 1730200266,
|
||||||
"narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=",
|
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9",
|
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -430,6 +626,57 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixvim": {
|
||||||
|
"inputs": {
|
||||||
|
"devshell": "devshell",
|
||||||
|
"flake-compat": "flake-compat_3",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"git-hooks": "git-hooks",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730792264,
|
||||||
|
"narHash": "sha256-Ue3iywjyaNOxXgw7esVSBX3bZzM2bSPubZamYsBKIG8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"rev": "3d24cb72618738130e6af9c644c81fe42aa34ebc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixvim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nuschtosSearch": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"ixx": "ixx",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730515563,
|
||||||
|
"narHash": "sha256-8lklUZRV7nwkPLF3roxzi4C2oyLydDXyAzAnDvjkOms=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"rev": "9e22bd742480916ff5d0ab20ca2522eaa3fa061e",
|
||||||
|
"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",
|
||||||
|
|
@ -461,23 +708,24 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nixcord": "nixcord",
|
"nixcord": "nixcord",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"nixvim": "nixvim",
|
||||||
"spicetify-nix": "spicetify-nix",
|
"spicetify-nix": "spicetify-nix",
|
||||||
"swww": "swww"
|
"swww": "swww"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"spicetify-nix": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_4",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730261837,
|
"lastModified": 1730780158,
|
||||||
"narHash": "sha256-syeN2dLFxJ9bhsG1YnwWpwMgCttBY1S60KUrqLIrmMo=",
|
"narHash": "sha256-ZJkCFn4PL49rINz7xrjlBqw9nF8wWJE7fSVqbHlCWSA=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "1c482c8baffd494119b7f61735d35c62a0a22244",
|
"rev": "2791c6662002731d3dfc00312307aef547e1c8be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -488,16 +736,16 @@
|
||||||
},
|
},
|
||||||
"swww": {
|
"swww": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_4",
|
"flake-compat": "flake-compat_5",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730050836,
|
"lastModified": 1730424990,
|
||||||
"narHash": "sha256-6xCp6rTJ5MWxfUXUYxWRZz1CA5V9/gGqgb0+34BMF6U=",
|
"narHash": "sha256-+8YUJsNzvgAeZYLfbHYfYlad/iS+6Eec/LWzL1ZIGfY=",
|
||||||
"owner": "LGFae",
|
"owner": "LGFae",
|
||||||
"repo": "swww",
|
"repo": "swww",
|
||||||
"rev": "36808dfd90223e648fcc45075ca57392b3d6a297",
|
"rev": "0db3f4eb192f1c9bf914efcc1d2aba809da5d78a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -536,9 +784,45 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"systems_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730321837,
|
||||||
|
"narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "746901bb8dba96d154b66492a29f5db0693dbfcc",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1726560853,
|
||||||
|
|
@ -582,11 +866,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728166987,
|
"lastModified": 1730743262,
|
||||||
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
|
"narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
|
"rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
64
flake.nix
Normal file → Executable file
64
flake.nix
Normal file → Executable file
|
|
@ -3,42 +3,38 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
spicetify-nix = {
|
spicetify-nix = {
|
||||||
url = "github:Gerg-L/spicetify-nix";
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
#stylix.url = "github:danth/stylix";
|
|
||||||
|
|
||||||
nixcord = {
|
#stylix.url = "github:danth/stylix";
|
||||||
url = "github:kaylorben/nixcord";
|
|
||||||
};
|
|
||||||
|
|
||||||
grub2-themes = {
|
nixcord = { url = "github:kaylorben/nixcord"; };
|
||||||
url = "github:vinceliuice/grub2-themes";
|
|
||||||
};
|
|
||||||
|
|
||||||
# is this necessary? (aren't I enabling it in `configuration.nix` anyways?)
|
nixvim = {
|
||||||
|
url = "github:nix-community/nixvim";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
grub2-themes = { url = "github:vinceliuice/grub2-themes"; };
|
||||||
|
|
||||||
|
# is this necessary? (aren't I enabling it in `configuration.nix` anyways?)
|
||||||
hyprland.url = "github:hyprwm/Hyprland";
|
hyprland.url = "github:hyprwm/Hyprland";
|
||||||
|
|
||||||
swww.url = "github:LGFae/swww";
|
swww.url = "github:LGFae/swww";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {
|
outputs = { self, nixpkgs, home-manager, hyprland, grub2-themes, nixvim
|
||||||
self,
|
, nixcord,
|
||||||
nixpkgs,
|
#stylix,
|
||||||
home-manager,
|
... }@inputs:
|
||||||
hyprland,
|
|
||||||
grub2-themes,
|
|
||||||
#stylix,
|
|
||||||
...
|
|
||||||
}@inputs:
|
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
|
@ -54,38 +50,32 @@
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# i be on my puter fr
|
# i be on my puter fr
|
||||||
myputer = nixpkgs.lib.nixosSystem {
|
myputer = nixpkgs.lib.nixosSystem {
|
||||||
# nix passes these to every single module above
|
# nix passes these to every single module above
|
||||||
specialArgs = {
|
specialArgs = { inherit inputs pkgs; };
|
||||||
inherit inputs pkgs;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/myputer
|
./hosts/myputer
|
||||||
grub2-themes.nixosModules.default
|
grub2-themes.nixosModules.default
|
||||||
#stylix.nixosModules.stylix
|
#stylix.nixosModules.stylix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# my laptop 0w0
|
# my laptop 0w0
|
||||||
lolcathost = nixpkgs.lib.nixosSystem {
|
lolcathost = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = {
|
specialArgs = { inherit inputs pkgs; };
|
||||||
inherit inputs;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules = [
|
modules = [ ./hosts/lolcathost ];
|
||||||
./hosts/lolcathost
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
me = home-manager.lib.homeManagerConfiguration {
|
me = home-manager.lib.homeManagerConfiguration {
|
||||||
specialArgs = {
|
specialArgs = { inherit inputs; };
|
||||||
inherit inputs;
|
|
||||||
};
|
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./home/me
|
./home/me
|
||||||
|
#nixcord.homeManagerModules.nixcord
|
||||||
|
#nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
31
homes/me/TODO
Normal file
31
homes/me/TODO
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
Get Utilities:
|
||||||
|
1. httpie
|
||||||
|
2. curlie
|
||||||
|
3. zoxide
|
||||||
|
4. doggo
|
||||||
|
|
||||||
|
1. Get helix editor
|
||||||
|
2. Custom helix
|
||||||
|
3. Complete helix tutorial
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Get waybar (or another bar) working
|
||||||
|
|
||||||
|
|
||||||
|
Get a better wallpaper
|
||||||
|
|
||||||
|
Get a GRUB theme working
|
||||||
|
|
||||||
|
Fix: your 131072x1 screen size is bogus. expect trouble
|
||||||
|
|
||||||
|
|
||||||
|
Push nixdots to github
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Have helix editor look differently depending on language
|
||||||
|
(specifically don't show indent indicators when editing nix files
|
||||||
|
|
||||||
|
|
||||||
|
Learn to package my own home-manager modules
|
||||||
782
homes/me/default.nix
Normal file → Executable file
782
homes/me/default.nix
Normal file → Executable file
|
|
@ -5,17 +5,16 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
# inputs.nixcord.homeManagerModules.nixcord
|
#inputs.nixcord.homeManagerModules.nixcord
|
||||||
# inputs.spicetify-nix.homeManagerModules.default
|
# inputs.spicetify-nix.homeManagerModules.default
|
||||||
# ./wofi.nix
|
# ./wofi.nix
|
||||||
|
#../../modules/discord/nixcord.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -36,7 +35,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ----- STYLIX -----
|
# ----- STYLIX -----
|
||||||
|
|
||||||
#stylix = {
|
#stylix = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
#
|
#
|
||||||
|
|
@ -44,7 +43,7 @@
|
||||||
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
||||||
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
||||||
# };
|
# };
|
||||||
#
|
#
|
||||||
# # Stylix will automatically theme applications
|
# # Stylix will automatically theme applications
|
||||||
# autoEnable = true;
|
# autoEnable = true;
|
||||||
# targets = {
|
# targets = {
|
||||||
|
|
@ -56,332 +55,489 @@
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
username = "me";
|
username = "me";
|
||||||
homeDirectory = "/home/me";
|
homeDirectory = "/home/me";
|
||||||
|
|
||||||
|
pointerCursor = {
|
||||||
|
gtk.enable = true;
|
||||||
|
# x11.enable = true # dont enable since im on hyprland
|
||||||
|
package = pkgs.bibata-cursors;
|
||||||
|
name = "Bibata-Modern-Ice";
|
||||||
|
size = 16;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
# these are both required for home-manager to work
|
# these are both required for home-manager to work
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "emileclarkb";
|
userName = "Emile Clark-Boman";
|
||||||
userEmail = "eclarkboman@gmail.com";
|
userEmail = "eclarkboman@gmail.com";
|
||||||
};
|
};
|
||||||
|
|
||||||
# like `/bin/cat` but with syntax highlighting
|
# like `/bin/cat` but with syntax highlighting
|
||||||
# TODO: change the pager (maybe use Github:sachaos/viddy instead)
|
# TODO: change the pager (maybe use Github:sachaos/viddy instead)
|
||||||
bat = {
|
bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
pager = "less -FR";
|
pager = "less -FR";
|
||||||
# let Stylix control the theme
|
# let Stylix control the theme
|
||||||
#theme = "Dracula";
|
#theme = "Dracula";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox = {
|
#nixvim = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
|
# # TODO: allow clipboard to be configurable based on system clipboard
|
||||||
|
# colorschemes.dracula.enable = true;
|
||||||
|
# plugins = {
|
||||||
|
# lualine.enable = true;
|
||||||
|
# treesitter.enable = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# opts = {
|
||||||
|
# number = true;
|
||||||
|
# tabstop = 4;
|
||||||
|
# softtabstop = 4;
|
||||||
|
# shiftwidth = 4;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# clipboard.providers.wl-copy.enable = true;
|
||||||
|
#};
|
||||||
|
|
||||||
|
# read https://docs.helix-editor.com/editor.html
|
||||||
|
helix = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
theme = "dracula";
|
||||||
|
editor = {
|
||||||
|
line-number = "absolute";
|
||||||
|
popup-border = "all";
|
||||||
|
scroll-lines = 3;
|
||||||
|
color-modes = true; # colour the mode indicator depending on mode
|
||||||
|
shell = ["zsh" "-c"];
|
||||||
|
|
||||||
|
auto-format = true;
|
||||||
|
auto-completion = true; # enable popup for autocomplete
|
||||||
|
completion-timeout = 250; # time before completions display
|
||||||
|
preview-completion-insert = true;
|
||||||
|
completion-trigger-len = 2; # min word length to trigger completions
|
||||||
|
completion-replace = true; # completions replace entire word
|
||||||
|
|
||||||
|
indent-heuristic = "tree-sitter"; # how indentation is computed
|
||||||
|
middle-click-paste = true;
|
||||||
|
insert-final-newline = true; # append newline to file on write
|
||||||
|
|
||||||
|
gutters = [
|
||||||
|
"diagnostics"
|
||||||
|
"spacer"
|
||||||
|
"line-numbers"
|
||||||
|
"spacer"
|
||||||
|
"diff"
|
||||||
|
];
|
||||||
|
|
||||||
|
whitespace = {
|
||||||
|
render = {
|
||||||
|
space = "none"; # "all"
|
||||||
|
tab = "none"; #"all"
|
||||||
|
nbsp = "none";
|
||||||
|
nnbsp = "none";
|
||||||
|
newline = "none";
|
||||||
|
};
|
||||||
|
characters = {
|
||||||
|
space = "·";
|
||||||
|
nbsp = "⍽";
|
||||||
|
nnbsp = "␣";
|
||||||
|
tab = "→";
|
||||||
|
newline = "⤶";
|
||||||
|
tabpad = "·"; # Tabs will look like "→···" (depending on tab width)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
indent-guides = {
|
||||||
|
render = true;
|
||||||
|
character = "▏"; # "|"
|
||||||
|
skip-levels = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
auto-signature-help = true; # hints for function parameters
|
||||||
|
display-inlay-hints = true; # inline hints
|
||||||
|
snippets = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor-shape = {
|
||||||
|
normal = "block";
|
||||||
|
insert = "bar";
|
||||||
|
select = "block";
|
||||||
|
};
|
||||||
|
|
||||||
|
file-picker = {
|
||||||
|
hidden = true; # show hidden files
|
||||||
|
follow-symlinks = true;
|
||||||
|
deduplicate-links = true;
|
||||||
|
git-ignore = false; # dont read .gitignore files
|
||||||
|
ignore = true; # use .ignore for helix instead of .gitignore
|
||||||
|
};
|
||||||
|
|
||||||
|
statusline = {
|
||||||
|
left = [
|
||||||
|
"mode"
|
||||||
|
"version-control"
|
||||||
|
"spinner"
|
||||||
|
];
|
||||||
|
center = [
|
||||||
|
"file-name"
|
||||||
|
"read-only-indicator"
|
||||||
|
"file-modification-indicator"
|
||||||
|
];
|
||||||
|
right = [
|
||||||
|
"position"
|
||||||
|
"total-line-numbers"
|
||||||
|
"separator"
|
||||||
|
"file-encoding"
|
||||||
|
"file-line-ending"
|
||||||
|
"separator"
|
||||||
|
"file-type"
|
||||||
|
];
|
||||||
|
separator = "|";
|
||||||
|
mode.normal = "NORMAL";
|
||||||
|
mode.insert = "INSERT";
|
||||||
|
mode.select = "SELECT";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
languages.language = [
|
||||||
|
{
|
||||||
|
name = "nix";
|
||||||
|
indent = {
|
||||||
|
tab-width = 2;
|
||||||
|
unit = " ";
|
||||||
|
};
|
||||||
|
block-comment-tokens = {
|
||||||
|
start = "/*";
|
||||||
|
end = "*/";
|
||||||
|
};
|
||||||
|
auto-format = true;
|
||||||
|
formatter.command = "${pkgs.alejandra}/bin/alejandra";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "python";
|
||||||
|
indent = {
|
||||||
|
tab-width = 4;
|
||||||
|
unit = " ";
|
||||||
|
};
|
||||||
|
auto-format = false; # my python is beautiful ^_^
|
||||||
|
rulers = [80];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
#nixcord.enable = true;
|
||||||
|
|
||||||
|
firefox = {
|
||||||
|
enable = true;
|
||||||
policies = {
|
policies = {
|
||||||
#BlockAboutConfig = true;
|
#BlockAboutConfig = true;
|
||||||
DefaultDownloadDirectory = "\${home}/downloads";
|
DefaultDownloadDirectory = "\${home}/downloads";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# I want to use fish as my login shell but it always
|
# I want to use fish as my login shell but it always
|
||||||
# goes terrible cause it isn't POSIX compliant, so
|
# goes terrible cause it isn't POSIX compliant, so
|
||||||
# instead Bash is my login and it will just exec fish
|
# instead Bash is my login and it will just exec fish
|
||||||
#bash = {
|
#bash = {
|
||||||
# interactiveShellInit = ''
|
# interactiveShellInit = ''
|
||||||
# if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
# if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||||
# then
|
# then
|
||||||
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||||
# exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
# exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||||
# fi
|
# fi
|
||||||
# '';
|
# '';
|
||||||
#};
|
#};
|
||||||
|
|
||||||
fish = {
|
fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
set -g fish_greeting "Welcome weary traveler to my shop"
|
set -g fish_greeting "Welcome weary traveler to my shop"
|
||||||
'';
|
'';
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
name = "grc";
|
name = "grc";
|
||||||
src = pkgs.fishPlugins.grc.src;
|
src = pkgs.fishPlugins.grc.src;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
spicetify =
|
spicetify =
|
||||||
let
|
let
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
adblock
|
adblock
|
||||||
hidePodcasts
|
hidePodcasts
|
||||||
#shuffle
|
#shuffle
|
||||||
];
|
];
|
||||||
theme = spicePkgs.themes.catppuccin;
|
theme = spicePkgs.themes.catppuccin;
|
||||||
colorScheme = "mocha";
|
colorScheme = "mocha";
|
||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# The terminal I use
|
# The terminal I use
|
||||||
# TODO: this is dependent on nvim being installed
|
# TODO: this is dependent on nvim being installed
|
||||||
# TODO: make this into a module with a configurable editor option
|
# TODO: make this into a module with a configurable editor option
|
||||||
rio = {
|
rio = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Rio Config Docs: https://raphamorim.io/rio/docs/config
|
# Rio Config Docs: https://raphamorim.io/rio/docs/config
|
||||||
settings = {
|
settings = {
|
||||||
theme = "dracula";
|
theme = "dracula";
|
||||||
hide-mouse-cursor-when-typing = true;
|
hide-mouse-cursor-when-typing = true;
|
||||||
|
|
||||||
use-fork = true; # fork (dont spawn) Rio
|
use-fork = true; # fork (dont spawn) Rio
|
||||||
|
|
||||||
padding-x = 10;
|
padding-x = 10;
|
||||||
padding-y = [ 15 10 ]; # top, left
|
padding-y = [15 10]; # top, left
|
||||||
|
|
||||||
# lines = (accumulated scroll * multiplier / divider)
|
# lines = (accumulated scroll * multiplier / divider)
|
||||||
scroll = {
|
scroll = {
|
||||||
multiplier = 3.0;
|
multiplier = 3.0;
|
||||||
divider = 1.0;
|
divider = 1.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
size = 15;
|
size = 15;
|
||||||
features = [];
|
features = [];
|
||||||
|
|
||||||
regular = {
|
regular = {
|
||||||
family = "FiraCode Nerd Font"; # "IosevkaTerm Nerd Font"
|
family = "JetBrainsMono Nerd Font"; # FiraCode
|
||||||
style = "Normal";
|
style = "Normal";
|
||||||
weight = 400;
|
weight = 400;
|
||||||
};
|
};
|
||||||
|
|
||||||
bold = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Normal";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
|
|
||||||
italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
bold-italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Run when the `OpenConfigEditor` keybinding is triggered
|
bold = {
|
||||||
editor = {
|
family = "JetBrainsMono Nerd Font";
|
||||||
program = "nvim";
|
style = "Normal";
|
||||||
args = [];
|
weight = 800;
|
||||||
};
|
};
|
||||||
|
|
||||||
renderer = {
|
italic = {
|
||||||
performance = "High";
|
family = "JetBrainsMono Nerd Font";
|
||||||
backend = "Automatic"; # Vulkan
|
style = "Italic";
|
||||||
};
|
weight = 400;
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
bold-italic = {
|
||||||
|
family = "JetBrainsMono Nerd Font";
|
||||||
|
style = "Italic";
|
||||||
|
weight = 800;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Run when the `OpenConfigEditor` keybinding is triggered
|
||||||
|
editor = {
|
||||||
|
program = "nvim";
|
||||||
|
args = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
renderer = {
|
||||||
|
performance = "High";
|
||||||
|
backend = "Automatic"; # Vulkan
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
wofi = {
|
wofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
location = "center";
|
location = "center";
|
||||||
allow_markup = true;
|
allow_markup = true;
|
||||||
width = 250;
|
width = 250;
|
||||||
};
|
};
|
||||||
# Force the style to stop Stylix being a bitch and overwriting it
|
# Force the style to stop Stylix being a bitch and overwriting it
|
||||||
style = lib.mkForce ''
|
style = lib.mkForce ''
|
||||||
@define-color rosewater #f2d5cf;
|
@define-color rosewater #f2d5cf;
|
||||||
@define-color rosewater-rgb rgb(242, 213, 207);
|
@define-color rosewater-rgb rgb(242, 213, 207);
|
||||||
@define-color flamingo #eebebe;
|
@define-color flamingo #eebebe;
|
||||||
@define-color flamingo-rgb rgb(238, 190, 190);
|
@define-color flamingo-rgb rgb(238, 190, 190);
|
||||||
@define-color pink #f4b8e4;
|
@define-color pink #f4b8e4;
|
||||||
@define-color pink-rgb rgb(244, 184, 228);
|
@define-color pink-rgb rgb(244, 184, 228);
|
||||||
@define-color mauve #ca9ee6;
|
@define-color mauve #ca9ee6;
|
||||||
@define-color mauve-rgb rgb(202, 158, 230);
|
@define-color mauve-rgb rgb(202, 158, 230);
|
||||||
@define-color red #e78284;
|
@define-color red #e78284;
|
||||||
@define-color red-rgb rgb(231, 130, 132);
|
@define-color red-rgb rgb(231, 130, 132);
|
||||||
@define-color maroon #ea999c;
|
@define-color maroon #ea999c;
|
||||||
@define-color maroon-rgb rgb(234, 153, 156);
|
@define-color maroon-rgb rgb(234, 153, 156);
|
||||||
@define-color peach #ef9f76;
|
@define-color peach #ef9f76;
|
||||||
@define-color peach-rgb rgb(239, 159, 118);
|
@define-color peach-rgb rgb(239, 159, 118);
|
||||||
@define-color yellow #e5c890;
|
@define-color yellow #e5c890;
|
||||||
@define-color yellow-rgb rgb(229, 200, 144);
|
@define-color yellow-rgb rgb(229, 200, 144);
|
||||||
@define-color green #a6d189;
|
@define-color green #a6d189;
|
||||||
@define-color green-rgb rgb(166, 209, 137);
|
@define-color green-rgb rgb(166, 209, 137);
|
||||||
@define-color teal #81c8be;
|
@define-color teal #81c8be;
|
||||||
@define-color teal-rgb rgb(129, 200, 190);
|
@define-color teal-rgb rgb(129, 200, 190);
|
||||||
@define-color sky #99d1db;
|
@define-color sky #99d1db;
|
||||||
@define-color sky-rgb rgb(153, 209, 219);
|
@define-color sky-rgb rgb(153, 209, 219);
|
||||||
@define-color sapphire #85c1dc;
|
@define-color sapphire #85c1dc;
|
||||||
@define-color sapphire-rgb rgb(133, 193, 220);
|
@define-color sapphire-rgb rgb(133, 193, 220);
|
||||||
@define-color blue #8caaee;
|
@define-color blue #8caaee;
|
||||||
@define-color blue-rgb rgb(140, 170, 238);
|
@define-color blue-rgb rgb(140, 170, 238);
|
||||||
@define-color lavender #babbf1;
|
@define-color lavender #babbf1;
|
||||||
@define-color lavender-rgb rgb(186, 187, 241);
|
@define-color lavender-rgb rgb(186, 187, 241);
|
||||||
@define-color text #c6d0f5;
|
@define-color text #c6d0f5;
|
||||||
@define-color text-rgb rgb(198, 208, 245);
|
@define-color text-rgb rgb(198, 208, 245);
|
||||||
@define-color subtext1 #b5bfe2;
|
@define-color subtext1 #b5bfe2;
|
||||||
@define-color subtext1-rgb rgb(181, 191, 226);
|
@define-color subtext1-rgb rgb(181, 191, 226);
|
||||||
@define-color subtext0 #a5adce;
|
@define-color subtext0 #a5adce;
|
||||||
@define-color subtext0-rgb rgb(165, 173, 206);
|
@define-color subtext0-rgb rgb(165, 173, 206);
|
||||||
@define-color overlay2 #949cbb;
|
@define-color overlay2 #949cbb;
|
||||||
@define-color overlay2-rgb rgb(148, 156, 187);
|
@define-color overlay2-rgb rgb(148, 156, 187);
|
||||||
@define-color overlay1 #838ba7;
|
@define-color overlay1 #838ba7;
|
||||||
@define-color overlay1-rgb rgb(131, 139, 167);
|
@define-color overlay1-rgb rgb(131, 139, 167);
|
||||||
@define-color overlay0 #737994;
|
@define-color overlay0 #737994;
|
||||||
@define-color overlay0-rgb rgb(115, 121, 148);
|
@define-color overlay0-rgb rgb(115, 121, 148);
|
||||||
@define-color surface2 #626880;
|
@define-color surface2 #626880;
|
||||||
@define-color surface2-rgb rgb(98, 104, 128);
|
@define-color surface2-rgb rgb(98, 104, 128);
|
||||||
@define-color surface1 #51576d;
|
@define-color surface1 #51576d;
|
||||||
@define-color surface1-rgb rgb(81, 87, 109);
|
@define-color surface1-rgb rgb(81, 87, 109);
|
||||||
@define-color surface0 #414559;
|
@define-color surface0 #414559;
|
||||||
@define-color surface0-rgb rgb(65, 69, 89);
|
@define-color surface0-rgb rgb(65, 69, 89);
|
||||||
@define-color base #303446;
|
@define-color base #303446;
|
||||||
@define-color base-rgb rgb(48, 52, 70);
|
@define-color base-rgb rgb(48, 52, 70);
|
||||||
@define-color mantle #292c3c;
|
@define-color mantle #292c3c;
|
||||||
@define-color mantle-rgb rgb(41, 44, 60);
|
@define-color mantle-rgb rgb(41, 44, 60);
|
||||||
@define-color crust #232634;
|
@define-color crust #232634;
|
||||||
@define-color crust-rgb rgb(35, 38, 52);
|
@define-color crust-rgb rgb(35, 38, 52);
|
||||||
|
|
||||||
* {
|
* {
|
||||||
font-family: 'FiraCode Nerd Font';
|
font-family: 'FiraCode Nerd Font';
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Window */
|
/* Window */
|
||||||
window {
|
window {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: 0.16em solid @teal;
|
border: 0.16em solid @teal;
|
||||||
border-radius: 0.5em;
|
border-radius: 0.5em;
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
animation: slideIn 0.25s ease-in-out both;
|
animation: slideIn 0.25s ease-in-out both;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Slide In */
|
/* Slide In */
|
||||||
@keyframes slideIn {
|
@keyframes slideIn {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Inner Box */
|
/* Inner Box */
|
||||||
#inner-box {
|
#inner-box {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
/*animation: fadeIn 0.5s ease-in-out both;*/
|
/*animation: fadeIn 0.5s ease-in-out both;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fade In */
|
/* Fade In */
|
||||||
@keyframes fadeIn {
|
@keyframes fadeIn {
|
||||||
0% {
|
0% {
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Outer Box */
|
/* Outer Box */
|
||||||
#outer-box {
|
#outer-box {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Scroll */
|
/* Scroll */
|
||||||
#scroll {
|
#scroll {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Input */
|
/* Input */
|
||||||
#input {
|
#input {
|
||||||
margin: 5px 20px;
|
margin: 5px 20px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0.25em;
|
border-radius: 0.25em;
|
||||||
color: @text;
|
color: @text;
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
animation: fadeIn 0.25s ease-in-out both;
|
animation: fadeIn 0.25s ease-in-out both;
|
||||||
}
|
}
|
||||||
|
|
||||||
#input image {
|
#input image {
|
||||||
border: none;
|
border: none;
|
||||||
color: @red;
|
color: @red;
|
||||||
}
|
}
|
||||||
|
|
||||||
#input * {
|
#input * {
|
||||||
outline: 4px solid @red!important;
|
outline: 4px solid @red!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Text */
|
/* Text */
|
||||||
#text {
|
#text {
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border: none;
|
border: none;
|
||||||
color: @text;
|
color: @text;
|
||||||
animation: fadeIn 0.5s ease-in-out both;
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry {
|
#entry {
|
||||||
background-color: @base;
|
background-color: @base;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry arrow {
|
#entry arrow {
|
||||||
border: none;
|
border: none;
|
||||||
color: @teal;
|
color: @teal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Selected Entry */
|
/* Selected Entry */
|
||||||
#entry:selected {
|
#entry:selected {
|
||||||
border: 0.10em solid @teal;
|
border: 0.10em solid @teal;
|
||||||
border-radius: 0.25em;
|
border-radius: 0.25em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:selected #text {
|
#entry:selected #text {
|
||||||
color: @teal;
|
color: @teal;
|
||||||
}
|
}
|
||||||
|
|
||||||
#entry:drop(active) {
|
#entry:drop(active) {
|
||||||
background-color: @lavender!important;
|
background-color: @lavender!important;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
rofi = {
|
rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
font = "JetBrains Mono Nerd Font 10";
|
font = "JetBrains Mono Nerd Font 10";
|
||||||
location = "center";
|
location = "center";
|
||||||
terminal = "${pkgs.rio}/bin/rio";
|
terminal = "${pkgs.rio}/bin/rio";
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# ----- SERVICES -----
|
# ----- SERVICES -----
|
||||||
services = {
|
services = {
|
||||||
# Change monitor positions
|
# Change monitor positions
|
||||||
|
|
@ -392,36 +548,54 @@
|
||||||
systemdTarget = "hyprland-session.target";
|
systemdTarget = "hyprland-session.target";
|
||||||
# You can find your monitors in hyprland by using `hyprctl monitors all`
|
# You can find your monitors in hyprland by using `hyprctl monitors all`
|
||||||
settings = [
|
settings = [
|
||||||
{ # 1920x1080@144 gaming monitor
|
{
|
||||||
output.criteria = "HDMI-A-1";
|
# 1920x1080@144 gaming monitor
|
||||||
output.mode = "1920x1080@119.98Hz";
|
output.criteria = "HDMI-A-1";
|
||||||
output.scale = 1.0;
|
output.mode = "1920x1080@119.98Hz";
|
||||||
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
|
output.scale = 1.0;
|
||||||
}
|
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
|
||||||
{ # 4k side monitor
|
}
|
||||||
output.criteria = "DP-2";
|
{
|
||||||
output.mode = "3840x2160@60.00Hz";
|
# 4k side monitor
|
||||||
output.scale = 2.0;
|
output.criteria = "DP-2";
|
||||||
}
|
output.mode = "3840x2160@60.00Hz";
|
||||||
|
output.scale = 2.0;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
# laptop builtin screen
|
||||||
|
output.criteria = "eDP-1";
|
||||||
|
output.mode = "1920x1080@60.02Hz";
|
||||||
|
output.scale = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
{ # This is my default setup
|
{
|
||||||
profile.name = "default";
|
# This is my dual-monitor desktop setup
|
||||||
|
profile.name = "myputer";
|
||||||
profile.outputs = [
|
profile.outputs = [
|
||||||
{
|
{
|
||||||
criteria = "DP-2";
|
criteria = "DP-2";
|
||||||
position = "0,0";
|
position = "0,0";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
criteria = "HDMI-A-1";
|
criteria = "HDMI-A-1";
|
||||||
position = "3840,0";
|
position = "3840,0";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
# This is my laptop (lolcathost) :)
|
||||||
|
profile.name = "lolcathost";
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
position = "0,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
systemd.user.startServices = "sd-switch";
|
systemd.user.startServices = "sd-switch";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,207 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
nixpkgs = {
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
# inputs.spicetify-nix.homeManagerModules.default
|
|
||||||
#./wofi.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
/*
|
|
||||||
programs.spicetify =
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
|
||||||
adblock
|
|
||||||
hidePodcasts
|
|
||||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
|
||||||
];
|
|
||||||
theme = spicePkgs.themes.catppuccin;
|
|
||||||
colorScheme = "mocha";
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
#wayland.windowManager.hyprland.enable = true;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "me";
|
|
||||||
homeDirectory = "/home/me";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
# these are both required for home-manager to work
|
|
||||||
home-manager.enable = true;
|
|
||||||
git.enable = true;
|
|
||||||
|
|
||||||
# like `/bin/cat` but with syntax highlighting
|
|
||||||
# TODO: change the pager (maybe use Github:sachaos/viddy instead)
|
|
||||||
bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
pager = "less -FR";
|
|
||||||
#theme = "Dracula";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
spicetify =
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
|
||||||
adblock
|
|
||||||
hidePodcasts
|
|
||||||
#shuffle
|
|
||||||
];
|
|
||||||
theme = spicePkgs.themes.catppuccin;
|
|
||||||
colorScheme = "mocha";
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
# The terminal I use
|
|
||||||
# TODO: this is dependent on nvim being installed
|
|
||||||
# TODO: make this into a module with a configurable editor option
|
|
||||||
rio = {
|
|
||||||
enable = true;
|
|
||||||
# Rio Config Docs: https://raphamorim.io/rio/docs/config
|
|
||||||
settings = {
|
|
||||||
theme = "dracula";
|
|
||||||
hide-mouse-cursor-when-typing = true;
|
|
||||||
|
|
||||||
use-fork = true; # fork (dont spawn) Rio
|
|
||||||
|
|
||||||
padding-x = 10;
|
|
||||||
padding-y = [ 15 10 ]; # top, left
|
|
||||||
|
|
||||||
# lines = (accumulated scroll * multiplier / divider)
|
|
||||||
scroll = {
|
|
||||||
multiplier = 1.0;
|
|
||||||
divider = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
size = 15;
|
|
||||||
features = [];
|
|
||||||
|
|
||||||
regular = {
|
|
||||||
family = "FiraCode Nerd Font"; # "IosevkaTerm Nerd Font"
|
|
||||||
style = "Normal";
|
|
||||||
weight = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
bold = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Normal";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
|
|
||||||
italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
bold-italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Run when the `OpenConfigEditor` keybinding is triggered
|
|
||||||
editor = {
|
|
||||||
program = "nvim";
|
|
||||||
args = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
renderer = {
|
|
||||||
performance = "High";
|
|
||||||
backend = "Automatic"; # Vulkan
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wofi = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
location = "center";
|
|
||||||
allow_markup = true;
|
|
||||||
width = 250;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# ----- SERVICES -----
|
|
||||||
services = {
|
|
||||||
# Hyprland Wallpaper
|
|
||||||
#hyprpaper = {
|
|
||||||
# enable = true;
|
|
||||||
# settings = {
|
|
||||||
# preload = [ "~/nixdots/wallpapers/ghibli-esque-valley.png" ];
|
|
||||||
# wallpaper = [
|
|
||||||
# "DP-2,~/nixdots/wallpapers/ghibli-esque-valley.png"
|
|
||||||
# "HDMI-A-1,~/nixdots/wallpapers/ghibli-esque-valley.png"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
hyprpaper.enable = true; # so stylix can see it
|
|
||||||
|
|
||||||
# Change monitor positions
|
|
||||||
# TODO: find a way to make this modular (ie put something different for my laptop)
|
|
||||||
# my idea is to have a "monitors" module and use kanshi for wayland
|
|
||||||
kanshi = {
|
|
||||||
enable = true;
|
|
||||||
systemdTarget = "hyprland-session.target";
|
|
||||||
# You can find your monitors in hyprland by using `hyprctl monitors all`
|
|
||||||
settings = [
|
|
||||||
{ # 1920x1080@144 gaming monitor
|
|
||||||
output.criteria = "HDMI-A-1";
|
|
||||||
output.mode = "1920x1080@119.98Hz";
|
|
||||||
output.scale = 1.0;
|
|
||||||
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
|
|
||||||
}
|
|
||||||
{ # 4k side monitor
|
|
||||||
output.criteria = "DP-2";
|
|
||||||
output.mode = "3840x2160@60.00Hz";
|
|
||||||
output.scale = 2.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
{ # This is my default setup
|
|
||||||
profile.name = "default";
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "DP-2";
|
|
||||||
position = "0,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "HDMI-A-1";
|
|
||||||
position = "3840,0";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
|
|
||||||
home.stateVersion = "24.05"; # don't change this
|
|
||||||
}
|
|
||||||
|
|
@ -1,410 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
outputs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
nixpkgs = {
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
#inputs.nixcord.homeManagerModules.nixcord
|
|
||||||
# inputs.spicetify-nix.homeManagerModules.default
|
|
||||||
#./wofi.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
/*
|
|
||||||
programs.spicetify =
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
|
||||||
adblock
|
|
||||||
hidePodcasts
|
|
||||||
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
|
||||||
];
|
|
||||||
theme = spicePkgs.themes.catppuccin;
|
|
||||||
colorScheme = "mocha";
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
# ----- STYLIX -----
|
|
||||||
|
|
||||||
#stylix = {
|
|
||||||
# enable = true;
|
|
||||||
#
|
|
||||||
# image = pkgs.fetchurl {
|
|
||||||
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
|
||||||
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
|
||||||
# };
|
|
||||||
#
|
|
||||||
# # Stylix will automatically theme applications
|
|
||||||
# autoEnable = true;
|
|
||||||
# targets = {
|
|
||||||
# # disable Stylix's themes for ones I will theme manually
|
|
||||||
# firefox.enable = false;
|
|
||||||
# wofi.enable = false;
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "me";
|
|
||||||
homeDirectory = "/home/me";
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
# these are both required for home-manager to work
|
|
||||||
home-manager.enable = true;
|
|
||||||
git.enable = true;
|
|
||||||
|
|
||||||
# like `/bin/cat` but with syntax highlighting
|
|
||||||
# TODO: change the pager (maybe use Github:sachaos/viddy instead)
|
|
||||||
bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
pager = "less -FR";
|
|
||||||
# let Stylix control the theme
|
|
||||||
#theme = "Dracula";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
policies = {
|
|
||||||
#BlockAboutConfig = true;
|
|
||||||
DefaultDownloadDirectory = "\${home}/downloads";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
spicetify =
|
|
||||||
let
|
|
||||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
|
||||||
adblock
|
|
||||||
hidePodcasts
|
|
||||||
#shuffle
|
|
||||||
];
|
|
||||||
theme = spicePkgs.themes.catppuccin;
|
|
||||||
colorScheme = "mocha";
|
|
||||||
};
|
|
||||||
*/
|
|
||||||
|
|
||||||
# The terminal I use
|
|
||||||
# TODO: this is dependent on nvim being installed
|
|
||||||
# TODO: make this into a module with a configurable editor option
|
|
||||||
rio = {
|
|
||||||
enable = true;
|
|
||||||
# Rio Config Docs: https://raphamorim.io/rio/docs/config
|
|
||||||
settings = {
|
|
||||||
theme = "dracula";
|
|
||||||
hide-mouse-cursor-when-typing = true;
|
|
||||||
|
|
||||||
use-fork = true; # fork (dont spawn) Rio
|
|
||||||
|
|
||||||
padding-x = 10;
|
|
||||||
padding-y = [ 15 10 ]; # top, left
|
|
||||||
|
|
||||||
# lines = (accumulated scroll * multiplier / divider)
|
|
||||||
scroll = {
|
|
||||||
multiplier = 3.0;
|
|
||||||
divider = 1.0;
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
size = 15;
|
|
||||||
features = [];
|
|
||||||
|
|
||||||
regular = {
|
|
||||||
family = "FiraCode Nerd Font"; # "IosevkaTerm Nerd Font"
|
|
||||||
style = "Normal";
|
|
||||||
weight = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
bold = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Normal";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
|
|
||||||
italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 400;
|
|
||||||
};
|
|
||||||
|
|
||||||
bold-italic = {
|
|
||||||
family = "FiraCode Nerd Font";
|
|
||||||
style = "Italic";
|
|
||||||
weight = 800;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Run when the `OpenConfigEditor` keybinding is triggered
|
|
||||||
editor = {
|
|
||||||
program = "nvim";
|
|
||||||
args = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
renderer = {
|
|
||||||
performance = "High";
|
|
||||||
backend = "Automatic"; # Vulkan
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
wofi = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
location = "center";
|
|
||||||
allow_markup = true;
|
|
||||||
width = 250;
|
|
||||||
};
|
|
||||||
# Force the style to stop Stylix being a bitch and overwriting it
|
|
||||||
style = lib.mkForce ''
|
|
||||||
@define-color rosewater #f2d5cf;
|
|
||||||
@define-color rosewater-rgb rgb(242, 213, 207);
|
|
||||||
@define-color flamingo #eebebe;
|
|
||||||
@define-color flamingo-rgb rgb(238, 190, 190);
|
|
||||||
@define-color pink #f4b8e4;
|
|
||||||
@define-color pink-rgb rgb(244, 184, 228);
|
|
||||||
@define-color mauve #ca9ee6;
|
|
||||||
@define-color mauve-rgb rgb(202, 158, 230);
|
|
||||||
@define-color red #e78284;
|
|
||||||
@define-color red-rgb rgb(231, 130, 132);
|
|
||||||
@define-color maroon #ea999c;
|
|
||||||
@define-color maroon-rgb rgb(234, 153, 156);
|
|
||||||
@define-color peach #ef9f76;
|
|
||||||
@define-color peach-rgb rgb(239, 159, 118);
|
|
||||||
@define-color yellow #e5c890;
|
|
||||||
@define-color yellow-rgb rgb(229, 200, 144);
|
|
||||||
@define-color green #a6d189;
|
|
||||||
@define-color green-rgb rgb(166, 209, 137);
|
|
||||||
@define-color teal #81c8be;
|
|
||||||
@define-color teal-rgb rgb(129, 200, 190);
|
|
||||||
@define-color sky #99d1db;
|
|
||||||
@define-color sky-rgb rgb(153, 209, 219);
|
|
||||||
@define-color sapphire #85c1dc;
|
|
||||||
@define-color sapphire-rgb rgb(133, 193, 220);
|
|
||||||
@define-color blue #8caaee;
|
|
||||||
@define-color blue-rgb rgb(140, 170, 238);
|
|
||||||
@define-color lavender #babbf1;
|
|
||||||
@define-color lavender-rgb rgb(186, 187, 241);
|
|
||||||
@define-color text #c6d0f5;
|
|
||||||
@define-color text-rgb rgb(198, 208, 245);
|
|
||||||
@define-color subtext1 #b5bfe2;
|
|
||||||
@define-color subtext1-rgb rgb(181, 191, 226);
|
|
||||||
@define-color subtext0 #a5adce;
|
|
||||||
@define-color subtext0-rgb rgb(165, 173, 206);
|
|
||||||
@define-color overlay2 #949cbb;
|
|
||||||
@define-color overlay2-rgb rgb(148, 156, 187);
|
|
||||||
@define-color overlay1 #838ba7;
|
|
||||||
@define-color overlay1-rgb rgb(131, 139, 167);
|
|
||||||
@define-color overlay0 #737994;
|
|
||||||
@define-color overlay0-rgb rgb(115, 121, 148);
|
|
||||||
@define-color surface2 #626880;
|
|
||||||
@define-color surface2-rgb rgb(98, 104, 128);
|
|
||||||
@define-color surface1 #51576d;
|
|
||||||
@define-color surface1-rgb rgb(81, 87, 109);
|
|
||||||
@define-color surface0 #414559;
|
|
||||||
@define-color surface0-rgb rgb(65, 69, 89);
|
|
||||||
@define-color base #303446;
|
|
||||||
@define-color base-rgb rgb(48, 52, 70);
|
|
||||||
@define-color mantle #292c3c;
|
|
||||||
@define-color mantle-rgb rgb(41, 44, 60);
|
|
||||||
@define-color crust #232634;
|
|
||||||
@define-color crust-rgb rgb(35, 38, 52);
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: 'FiraCode Nerd Font';
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Window */
|
|
||||||
window {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 10px;
|
|
||||||
border: 0.16em solid @teal;
|
|
||||||
border-radius: 0.5em;
|
|
||||||
background-color: @base;
|
|
||||||
animation: slideIn 0.25s ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Slide In */
|
|
||||||
@keyframes slideIn {
|
|
||||||
0% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Inner Box */
|
|
||||||
#inner-box {
|
|
||||||
margin: 5px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
/*animation: fadeIn 0.5s ease-in-out both;*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Fade In */
|
|
||||||
@keyframes fadeIn {
|
|
||||||
0% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Outer Box */
|
|
||||||
#outer-box {
|
|
||||||
margin: 5px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Scroll */
|
|
||||||
#scroll {
|
|
||||||
margin: 0px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Input */
|
|
||||||
#input {
|
|
||||||
margin: 5px 20px;
|
|
||||||
padding: 10px;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0.25em;
|
|
||||||
color: @text;
|
|
||||||
background-color: @base;
|
|
||||||
animation: fadeIn 0.25s ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input image {
|
|
||||||
border: none;
|
|
||||||
color: @red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#input * {
|
|
||||||
outline: 4px solid @red!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Text */
|
|
||||||
#text {
|
|
||||||
margin: 5px;
|
|
||||||
border: none;
|
|
||||||
color: @text;
|
|
||||||
animation: fadeIn 0.5s ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry {
|
|
||||||
background-color: @base;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry arrow {
|
|
||||||
border: none;
|
|
||||||
color: @teal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Selected Entry */
|
|
||||||
#entry:selected {
|
|
||||||
border: 0.10em solid @teal;
|
|
||||||
border-radius: 0.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:selected #text {
|
|
||||||
color: @teal;
|
|
||||||
}
|
|
||||||
|
|
||||||
#entry:drop(active) {
|
|
||||||
background-color: @lavender!important;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
rofi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.rofi-wayland;
|
|
||||||
font = "JetBrains Mono Nerd Font 10";
|
|
||||||
location = "center";
|
|
||||||
terminal = "${pkgs.rio}/bin/rio";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# ----- SERVICES -----
|
|
||||||
services = {
|
|
||||||
# Hyprland Wallpaper
|
|
||||||
#hyprpaper = {
|
|
||||||
# enable = true;
|
|
||||||
# settings = {
|
|
||||||
# preload = [ "/home/me/nixdots/wallpapers/wall.png" ];
|
|
||||||
# wallpaper = [
|
|
||||||
# "DP-2,/home/me/nixdots/wallpapers/wall.png"
|
|
||||||
# "HDMI-A-1,/home/me/nixdots/wallpapers/wall.png"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
# Change monitor positions
|
|
||||||
# TODO: find a way to make this modular (ie put something different for my laptop)
|
|
||||||
# my idea is to have a "monitors" module and use kanshi for wayland
|
|
||||||
kanshi = {
|
|
||||||
enable = true;
|
|
||||||
systemdTarget = "hyprland-session.target";
|
|
||||||
# You can find your monitors in hyprland by using `hyprctl monitors all`
|
|
||||||
settings = [
|
|
||||||
{ # 1920x1080@144 gaming monitor
|
|
||||||
output.criteria = "HDMI-A-1";
|
|
||||||
output.mode = "1920x1080@119.98Hz";
|
|
||||||
output.scale = 1.0;
|
|
||||||
output.adaptiveSync = false; # Variable Refresh Rate (this can be changed for gaming)
|
|
||||||
}
|
|
||||||
{ # 4k side monitor
|
|
||||||
output.criteria = "DP-2";
|
|
||||||
output.mode = "3840x2160@60.00Hz";
|
|
||||||
output.scale = 2.0;
|
|
||||||
}
|
|
||||||
|
|
||||||
{ # This is my default setup
|
|
||||||
profile.name = "default";
|
|
||||||
profile.outputs = [
|
|
||||||
{
|
|
||||||
criteria = "DP-2";
|
|
||||||
position = "0,0";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
criteria = "HDMI-A-1";
|
|
||||||
position = "3840,0";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
|
||||||
systemd.user.startServices = "sd-switch";
|
|
||||||
|
|
||||||
home.stateVersion = "24.05"; # don't change this
|
|
||||||
}
|
|
||||||
0
homes/me/theme.rasi
Normal file → Executable file
0
homes/me/theme.rasi
Normal file → Executable file
0
homes/me/wofi.nix
Normal file → Executable file
0
homes/me/wofi.nix
Normal file → Executable file
315
hosts/lolcathost/default.nix
Normal file → Executable file
315
hosts/lolcathost/default.nix
Normal file → Executable file
|
|
@ -1,32 +1,44 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: let
|
||||||
|
home-manager = builtins.fetchTarball {
|
||||||
|
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
|
||||||
|
sha256 = "19w63qccz78v0spx03911z98w1bvlxvd07hb0ma14a4vdzi4ninj";
|
||||||
|
};
|
||||||
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
(import "${home-manager}/nixos")
|
||||||
|
inputs.spicetify-nix.nixosModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.spicetify = let
|
||||||
|
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
|
adblock
|
||||||
|
hidePodcasts
|
||||||
|
shuffle # shuffle+ (special characters are sanitized out of extension names)
|
||||||
];
|
];
|
||||||
|
#theme = spicePkgs.themes.catppuccin;
|
||||||
|
#colorScheme = "mocha";
|
||||||
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
# TODO: use GRUB2 instead
|
boot.loader = {
|
||||||
boot.loader.systemd-boot.enable = true;
|
efi = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
#boot.loader = {
|
efiSysMountPoint = "/boot/efi";
|
||||||
# efi = {
|
};
|
||||||
# canTouchEfiVariables = true;
|
grub = {
|
||||||
# efiSysMountPoint = "/boot/efi";
|
efiSupport = true;
|
||||||
# };
|
#efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work on this system
|
||||||
# grub = {
|
device = "nodev";
|
||||||
# efiSupport = true;
|
};
|
||||||
# #efiInstallAsRemovable = true; # in case canTouchEfiVariables doesn't work on this system
|
};
|
||||||
# device = "nodev";
|
|
||||||
# };
|
|
||||||
#};
|
|
||||||
|
|
||||||
networking.hostName = "myputer";
|
|
||||||
# Pick only one of the below networking options.
|
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
||||||
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Australia/Brisbane";
|
time.timeZone = "Australia/Brisbane";
|
||||||
|
|
@ -36,33 +48,218 @@
|
||||||
console = {
|
console = {
|
||||||
font = "Lat2-Terminus16";
|
font = "Lat2-Terminus16";
|
||||||
keyMap = "us";
|
keyMap = "us";
|
||||||
#useXkbConfig = true; # use xkb.options in tty.
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable sound.
|
# ----- NETWORKING SECTION -----
|
||||||
#services.pipewire = {
|
networking.hostName = "lolcathost";
|
||||||
# enable = true;
|
networking.networkmanager.enable = true;
|
||||||
# pulse.enable = true;
|
|
||||||
#};
|
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Open ports in the firewall.
|
||||||
# services.libinput.enable = true;
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# ----- SERVICES -----
|
||||||
users.users.emile = {
|
services = {
|
||||||
isNormalUser = true;
|
# Set display manager (login screen)
|
||||||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
#displayManager = {
|
||||||
packages = with pkgs; [
|
# sddm = {
|
||||||
#firefox
|
# enable = true;
|
||||||
tree
|
# #theme = "${import ./sddm-theme.nix { inherit pkgs; }}";
|
||||||
|
# wayland.enable = true; # enable experimental sddm support for wayland
|
||||||
|
# };
|
||||||
|
# defaultSession = "hyprland";
|
||||||
|
#};
|
||||||
|
|
||||||
|
# Enable sound
|
||||||
|
# TODO: use the modules/core/pipewire.nix module instead :)
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support
|
||||||
|
libinput.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# allow wheel group to use passwordless sudo
|
||||||
|
users = {
|
||||||
|
# using fish as the login shell tends
|
||||||
|
# to go very poorly because it isn't
|
||||||
|
# POSIX compliant, so we'll just use
|
||||||
|
# simple Bash then :)
|
||||||
|
defaultUserShell = pkgs.bash;
|
||||||
|
|
||||||
|
users = {
|
||||||
|
# just me fr (personal account)
|
||||||
|
me = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["wheel"];
|
||||||
|
shell = pkgs.bash; #pkgs.fish
|
||||||
|
packages = with pkgs; [
|
||||||
|
firefox
|
||||||
|
nitch
|
||||||
|
starfetch
|
||||||
|
tldr
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# programming/development account
|
||||||
|
dev = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["wheel"];
|
||||||
|
shell = pkgs.bash; #pkgs.zsh
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# user for my professional jobs and stuff
|
||||||
|
ae = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = ["wheel"];
|
||||||
|
shell = pkgs.bash; #pkgs.fish
|
||||||
|
packages = with pkgs; [
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
users.me = import ../../homes/me;
|
||||||
|
sharedModules = [
|
||||||
|
#inputs.nixcord.homeManagerModules.nixcord
|
||||||
|
#inputs.nixvim.homeManagerModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# ---- SYSTEM PACKAGES -----
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
# User Environment
|
||||||
|
inputs.swww.packages.${pkgs.system}.swww
|
||||||
|
#vesktop
|
||||||
|
helvum
|
||||||
|
easyeffects
|
||||||
|
ani-cli
|
||||||
|
wl-clipboard # clipboard for wayland
|
||||||
|
|
||||||
|
python311 # I use 3.11 since it's in a pretty stable state now
|
||||||
|
poetry # python dependency management and packaging
|
||||||
|
|
||||||
|
# fish plugins
|
||||||
|
grc # colorise command outputs
|
||||||
|
|
||||||
|
httpie
|
||||||
|
curlie
|
||||||
|
zoxide
|
||||||
|
doggo
|
||||||
|
|
||||||
|
# Pretty necessary
|
||||||
|
git
|
||||||
|
brightnessctl
|
||||||
|
acpi
|
||||||
|
|
||||||
|
# Unix Commands
|
||||||
wget
|
wget
|
||||||
|
tree
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable the use of certain programs
|
||||||
|
programs = {
|
||||||
|
hyprland = {
|
||||||
|
enable = true;
|
||||||
|
# set the flake package
|
||||||
|
package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||||
|
# make sure to also set the portal package, so that they are in sync
|
||||||
|
portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
|
||||||
|
|
||||||
|
xwayland.enable = true;
|
||||||
|
#systemd.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
zsh.enable = true;
|
||||||
|
fish.enable = true;
|
||||||
|
|
||||||
|
neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
configure = {
|
||||||
|
customRC = ''
|
||||||
|
set number
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
|
||||||
|
set mouse=a
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# I want to use fish as my login shell but it always goes terrible
|
||||||
|
# cause it isn't POSIX compliant, so instead Bash is my login and
|
||||||
|
# will just exec fish (^-^)
|
||||||
|
bash = {
|
||||||
|
interactiveShellInit = ''
|
||||||
|
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||||
|
then
|
||||||
|
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
||||||
|
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ----- FONTS -----
|
||||||
|
fonts = {
|
||||||
|
enableDefaultPackages = true; # no clue what this line does tbh
|
||||||
|
packages = with pkgs; [
|
||||||
|
(nerdfonts.override {
|
||||||
|
fonts = [
|
||||||
|
"Cousine" # its already i guess
|
||||||
|
"Iosevka" # nah nah
|
||||||
|
"IosevkaTerm" # big nah
|
||||||
|
"CascadiaCode" # potential
|
||||||
|
"FiraCode" # potential
|
||||||
|
"JetBrainsMono" # for my rofi theme
|
||||||
|
"Hasklig"
|
||||||
|
"Hack"
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
# texlive maintains a noto-emoji flake
|
||||||
|
texlivePackages.noto-emoji
|
||||||
|
];
|
||||||
|
|
||||||
|
fontconfig = {
|
||||||
|
defaultFonts = {
|
||||||
|
serif = ["Iosevka"]; # TODO: package Iosevka Etoile since Iosevka isn't a serif font
|
||||||
|
sansSerif = ["Iosevka "];
|
||||||
|
monospace = ["Cousine"];
|
||||||
|
emoji = ["Noto Emoji"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ----- STYLIX -----
|
||||||
|
|
||||||
|
#stylix = {
|
||||||
|
# enable = true;
|
||||||
|
# image = pkgs.fetchurl {
|
||||||
|
# url = "https://www.pixelstalk.net/wp-content/uploads/2016/05/Epic-Anime-Awesome-Wallpapers.jpg";
|
||||||
|
# sha256 = "enQo3wqhgf0FEPHj2coOCvo7DuZv+x5rL/WIo4qPI50=";
|
||||||
|
# };
|
||||||
|
#
|
||||||
|
# # Stylix will automatically theme applications
|
||||||
|
# #autoEnable = true;
|
||||||
|
# #image = ../../wallpapers/wall.png;
|
||||||
|
# #image = "/home/me/nixdots/wallpapers/ghibli-esque-valley.png";
|
||||||
|
#};
|
||||||
|
|
||||||
|
# Enable the new CLI commands and the flakes as experimental features
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
# Some programs need SUID wrappers, can be configured further or are
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
|
@ -73,40 +270,14 @@
|
||||||
# enableSSHSupport = true;
|
# enableSSHSupport = true;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
# List services that you want to enable:
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
# services.openssh.enable = true;
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Enable OpenGL
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
hardware = {
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
graphics.enable = true;
|
||||||
# Or disable the firewall altogether.
|
};
|
||||||
# networking.firewall.enable = false;
|
|
||||||
|
|
||||||
# Copy the NixOS configuration file and link it from the resulting system
|
# DO NOT MODIFY
|
||||||
# (/run/current-system/configuration.nix). This is useful in case you
|
|
||||||
# accidentally delete configuration.nix.
|
|
||||||
# system.copySystemConfiguration = true;
|
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
|
||||||
#
|
|
||||||
# Most users should NEVER change this value after the initial install, for any reason,
|
|
||||||
# even if you've upgraded your system to a new NixOS release.
|
|
||||||
#
|
|
||||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
|
||||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
|
||||||
# to actually do that.
|
|
||||||
#
|
|
||||||
# This value being lower than the current NixOS release does NOT mean your system is
|
|
||||||
# out of date, out of support, or vulnerable.
|
|
||||||
#
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
#
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "24.05"; # Did you read the comment?
|
system.stateVersion = "24.05"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
41
hosts/lolcathost/hardware-configuration.nix
Normal file → Executable file
41
hosts/lolcathost/hardware-configuration.nix
Normal file → Executable file
|
|
@ -1 +1,40 @@
|
||||||
# TODO: (i haven't put NixOS on lolcathost yet)
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4bf649ce-047b-472d-b392-4c2c326362d9";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/D97A-5260";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/bfa29193-4f83-46c3-bcb7-0d2b8323b6e0"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlp2s0f4u1.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
|
|
|
||||||
25
hosts/myputer/default.nix
Normal file → Executable file
25
hosts/myputer/default.nix
Normal file → Executable file
|
|
@ -96,6 +96,8 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# allow wheel group to use passwordless sudo
|
||||||
|
security.sudo.wheelNeedsPassword = false;
|
||||||
users = {
|
users = {
|
||||||
# using fish as the login shell tends
|
# using fish as the login shell tends
|
||||||
# to go very poorly because it isn't
|
# to go very poorly because it isn't
|
||||||
|
|
@ -137,8 +139,14 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager.users.me = import ../../homes/me;
|
home-manager = {
|
||||||
|
users.me = import ../../homes/me;
|
||||||
|
sharedModules = [
|
||||||
|
#inputs.nixcord.homeManagerModules.nixcord
|
||||||
|
#inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# ---- SYSTEM PACKAGES -----
|
# ---- SYSTEM PACKAGES -----
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# User Environment
|
# User Environment
|
||||||
|
|
@ -147,17 +155,24 @@ in
|
||||||
helvum
|
helvum
|
||||||
easyeffects
|
easyeffects
|
||||||
ani-cli
|
ani-cli
|
||||||
|
|
||||||
wl-clipboard # clipboard for wayland
|
wl-clipboard # clipboard for wayland
|
||||||
|
|
||||||
python310 # I use 3.10 since it's in a pretty stable state now
|
python311 # I use 3.11 since it's in a pretty stable state now
|
||||||
|
poetry # python dependency management and packaging
|
||||||
|
|
||||||
# fish plugins
|
# fish plugins
|
||||||
grc # colorise command outputs
|
grc # colorise command outputs
|
||||||
|
|
||||||
|
httpie
|
||||||
|
curlie
|
||||||
|
zoxide
|
||||||
|
doggo
|
||||||
|
|
||||||
# Pretty necessary
|
# Pretty necessary
|
||||||
git
|
git
|
||||||
|
brightnessctl
|
||||||
|
acpi
|
||||||
|
|
||||||
# Unix Commands
|
# Unix Commands
|
||||||
wget
|
wget
|
||||||
tree
|
tree
|
||||||
|
|
|
||||||
0
hosts/myputer/hardware-configuration.nix
Normal file → Executable file
0
hosts/myputer/hardware-configuration.nix
Normal file → Executable file
0
hosts/myputer/sddm-theme.nix
Normal file → Executable file
0
hosts/myputer/sddm-theme.nix
Normal file → Executable file
0
modules/core/bluetooth.nix
Normal file → Executable file
0
modules/core/bluetooth.nix
Normal file → Executable file
0
modules/core/bootloader/grub.nix
Normal file → Executable file
0
modules/core/bootloader/grub.nix
Normal file → Executable file
0
modules/core/bootloader/systemd-boot.nix
Normal file → Executable file
0
modules/core/bootloader/systemd-boot.nix
Normal file → Executable file
0
modules/core/garbage-collector.nix
Normal file → Executable file
0
modules/core/garbage-collector.nix
Normal file → Executable file
0
modules/core/sound/default.nix
Normal file → Executable file
0
modules/core/sound/default.nix
Normal file → Executable file
0
modules/core/sound/pipewire.nix
Normal file → Executable file
0
modules/core/sound/pipewire.nix
Normal file → Executable file
8
modules/discord/nixcord.nix
Normal file → Executable file
8
modules/discord/nixcord.nix
Normal file → Executable file
|
|
@ -9,15 +9,15 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixcord.homeManagerModules.nixcord
|
config.nixcord.homeManagerModules.nixcord
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.nixcord = {
|
programs.nixcord = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
themeLinks = [
|
#themeLinks = [
|
||||||
""
|
# ""
|
||||||
];
|
#];
|
||||||
|
|
||||||
# no surrounding window frame
|
# no surrounding window frame
|
||||||
frameless = true;
|
frameless = true;
|
||||||
|
|
|
||||||
0
modules/hyprland/default.nix
Normal file → Executable file
0
modules/hyprland/default.nix
Normal file → Executable file
|
|
@ -1,7 +0,0 @@
|
||||||
Script started on 2024-11-02 18:26:40+10:00 [TERM="rio" TTY="/dev/pts/1" COLUMNS="162" LINES="70"]
|
|
||||||
You need to install grc!
|
|
||||||
Welcome weary traveler mmm mm mmm to my shop
|
|
||||||
[?2004h]0;~/nixdots[30m(B[m
[38;2;139;233;253mme(B[m@[38;2;189;147;249mmyputer(B[m:[38;2;80;250;123m~/nixdots(B[m|[31mmain⚡[34m*(B[m[33m?(B[m[K
|
|
||||||
➤ (B[m[38;2;248;248;242m[K
[C[Ce
[3C[38;2;98;114;164mxit[38;2;248;248;242m
[3C[38;2;255;85;85me[38;2;98;114;164mxit[38;2;248;248;242m
[3C[38;2;255;85;85mx[38;2;98;114;164mit[38;2;248;248;242m
[4C[38;2;255;85;85mi[38;2;98;114;164mt[38;2;248;248;242m
[5C[38;2;255;85;85mt[38;2;248;248;242m
[6C
[6C[38;2;139;233;253mexit[38;2;248;248;242m
[6C
[6C
|
|
||||||
[30m(B[m[?2004l]0;exit ~/nixdots[30m(B[m
[30m(B[m[30m(B[m[?2004l
|
|
||||||
Script done on 2024-11-02 18:26:46+10:00 [COMMAND_EXIT_CODE="0"]
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue