mirror of
https://github.com/youwen5/nixos.git
synced 2024-11-28 11:43:51 -08:00
Compare commits
80 commits
13182e0246
...
9079af661f
Author | SHA1 | Date | |
---|---|---|---|
9079af661f | |||
efaa5c81cd | |||
df1ecf6de4 | |||
43224bd176 | |||
6f597d83f5 | |||
8804431c97 | |||
02a6f0b4f8 | |||
eb83c0af49 | |||
ec4b978819 | |||
d27fd31030 | |||
bad90f15ed | |||
a47575cfae | |||
0b902b95e4 | |||
7fb6171dcf | |||
4e5adbd869 | |||
cbcb9467d6 | |||
26aa04552c | |||
3ebf22d7ce | |||
d60a08ceb0 | |||
c11f3ef550 | |||
4343e50b6d | |||
5b3c4b4ee6 | |||
dc86e970e7 | |||
4516685bb9 | |||
6c200053b2 | |||
ca88c64494 | |||
9e52ef6c28 | |||
94a63f86ef | |||
783c65f2ff | |||
ddab834b69 | |||
a2a9e20ba8 | |||
c164b0ece8 | |||
49c72907d9 | |||
23f6326c2b | |||
675f37c5b1 | |||
f05231223b | |||
88dd424203 | |||
c1257d3ba1 | |||
2a92bc9e69 | |||
598736167a | |||
a97e676fb7 | |||
4a6b3a895d | |||
9fbf576165 | |||
e5a4f927a3 | |||
2353431515 | |||
955e517597 | |||
793ce9aad2 | |||
a0473a0338 | |||
c2993c4102 | |||
bc6eac3bf2 | |||
ec60a62e4f | |||
0a5b76c290 | |||
b1c8959a85 | |||
80741b7f7b | |||
a44b125f4a | |||
46bce37908 | |||
5463fb9487 | |||
997cdb92d2 | |||
77708927da | |||
bbe6adc498 | |||
37caaa036d | |||
b3c0ab342c | |||
30ba3c5580 | |||
267ccb6279 | |||
635c5c4e2d | |||
bde2160dfa | |||
fee4623629 | |||
16ca570751 | |||
6f8505f1b9 | |||
6f543f19b3 | |||
1d44a94079 | |||
ba022c35b7 | |||
|
b43cc04ea7 | ||
586b4a27cd | |||
26439134dd | |||
9062a9d3ed | |||
1d50e3276a | |||
b928431067 | |||
d049aa90ee | |||
f61adf8ad4 |
53 changed files with 1642 additions and 1934 deletions
19
README.md
19
README.md
|
@ -3,8 +3,11 @@
|
|||
This is a repository that implements liminalOS, my personal Linux distribution
|
||||
based on [NixOS](https://nixos.org/).
|
||||
|
||||
Time wasted writing Nix code:
|
||||
![](https://wakatime.com/badge/user/018dc5b8-ba5a-4572-a38a-b526d1b28240/project/c59b3d5e-0c9c-4bd5-a752-e75522ab0cdc.svg)
|
||||
|
||||
<!-- prettier-ignore -->
|
||||
> **lim·i·nal**
|
||||
> **lim·i·nal**
|
||||
> 1. between or belonging to two different places, states, etc.
|
||||
|
||||
The goal of liminalOS is to allow my computing environment to exist in different
|
||||
|
@ -102,21 +105,23 @@ The [flake.nix](/flake.nix) currently contains my configuration for four hosts:
|
|||
|
||||
## Keybinds
|
||||
|
||||
Non-exhaustive.
|
||||
|
||||
| Shortcut | Action |
|
||||
| -------------------------------------------------------------------------------------------------------- | -------------------------------- |
|
||||
| <kbd>Super</kbd> + <kbd>W</kbd> | Toggle floating |
|
||||
| <kbd>Super</kbd> + <kbd>J</kbd> | Toggle layout |
|
||||
| <kbd>Super</kbd> + <kbd>K</kbd> | Toggle layout |
|
||||
| <kbd>Super</kbd> + <kbd>E</kbd> | Open Dolphin |
|
||||
| <kbd>Super</kbd> + <kbd>T</kbd> | Open kitty |
|
||||
| <kbd>Super</kbd> + <kbd>F</kbd> | Open librewolf |
|
||||
| <kbd>Super</kbd> + <kbd>R</kbd> | Open pavucontrol |
|
||||
| <kbd>Super</kbd> + <kbd>Space</kbd> | Open rofi |
|
||||
| <kbd>Super</kbd> + <kbd>Backspace</kbd> | Open logout menu |
|
||||
| <kbd>Super</kbd> + <kbd>P</kbd> | Screenshot region |
|
||||
| <kbd>Super</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move around |
|
||||
| <kbd>Super</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>O</kbd> | Move workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move windows around workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>Y</kbd><kbd>U</kbd><kbd>I</kbd><kbd>O</kbd> | Move windows around |
|
||||
| <kbd>Super</kbd> + <kbd>L</kbd> | Screenshot region |
|
||||
| <kbd>Super</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move around |
|
||||
| <kbd>Super</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>L</kbd> | Move workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move windows around workspaces |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>Ctrl</kbd> + <kbd>H</kbd><kbd>J</kbd><kbd>K</kbd><kbd>L</kbd> | Move windows around |
|
||||
| <kbd>Super</kbd> + <kbd>S</kbd> | Open Special Workspace |
|
||||
| <kbd>Super</kbd> + <kbd>Enter</kbd> | Fullscreen Window |
|
||||
| <kbd>Super</kbd> + <kbd>Alt</kbd> + <kbd>S</kbd> | Move Window to Special Workspace |
|
||||
|
|
15
TODOS.md
Normal file
15
TODOS.md
Normal file
|
@ -0,0 +1,15 @@
|
|||
# To Do
|
||||
|
||||
## P1
|
||||
|
||||
|
||||
## P2
|
||||
|
||||
- [ ] Move wallpapers to submodule
|
||||
- [ ] Move Neovim to submodule
|
||||
|
||||
|
||||
## Done
|
||||
|
||||
- [x] Add Nvidia-specific config options for Hyprland (blocked by P1)
|
||||
- [x] Massively refactor module system
|
418
flake.lock
418
flake.lock
|
@ -24,11 +24,11 @@
|
|||
},
|
||||
"bleedingpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1723688039,
|
||||
"narHash": "sha256-/QVv3/9gnukdsUZRR5eJQLhcuXBCLe0rGrF5O6w6jA0=",
|
||||
"lastModified": 1724581532,
|
||||
"narHash": "sha256-h9a24T9AE4/kIsK1m6zoeEo8XyRDI83sVXQS4OOmVfk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1ad352fd9ea96cebc7862782fa8d0d295c68ff15",
|
||||
"rev": "cefe8a71e78741c16e88181c8cdf467d07a4b401",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -57,11 +57,11 @@
|
|||
},
|
||||
"catppuccin": {
|
||||
"locked": {
|
||||
"lastModified": 1722997334,
|
||||
"narHash": "sha256-vE5FcKVQ3E0txJKt5w3vOlfcN1XoTAlxK9PnQ/CJavA=",
|
||||
"lastModified": 1724469296,
|
||||
"narHash": "sha256-p3R4LUNk6gC+fTKRUm9ByXaoRIocnQMwVuJSIxECQ8o=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "66f4ea170093b62f319f41cebd2337a51b225c5a",
|
||||
"rev": "874e668ddaf3687e8d38ccd0188a641ffefe1cfb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -91,6 +91,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722113426,
|
||||
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1688025799,
|
||||
|
@ -122,6 +144,36 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"revCount": 57,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"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": [
|
||||
|
@ -143,6 +195,46 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722555600,
|
||||
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722555600,
|
||||
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
|
@ -197,6 +289,24 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
|
@ -212,6 +322,39 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore_2",
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724440431,
|
||||
"narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "c8a54057aae480c56e28ef3e14e4960628ac495b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -234,6 +377,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -241,11 +407,33 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723399884,
|
||||
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
|
||||
"lastModified": 1724435763,
|
||||
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
|
||||
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724435763,
|
||||
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -257,11 +445,11 @@
|
|||
"homebrew-cask": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723687108,
|
||||
"narHash": "sha256-yS7kiSJyJzd+mpzAQ1ntrfejGICEhScev6NA0F5rsDE=",
|
||||
"lastModified": 1724579842,
|
||||
"narHash": "sha256-izixjuJn9JjWhmfRXCSVSODosdNcK0nEZVDWzk8+vJ0=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-cask",
|
||||
"rev": "5feec29994320afeeb5a1a74860a57d9f845bc30",
|
||||
"rev": "f3046f799c32d169398e9940d00018c3535ec8f6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -273,11 +461,11 @@
|
|||
"homebrew-core": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723681288,
|
||||
"narHash": "sha256-uU0etusCLcip1KNB2FA8/Zpi+hGwAzKX9X32fdFnTNw=",
|
||||
"lastModified": 1724581596,
|
||||
"narHash": "sha256-/IEFvoNS7LM3mVIUvmKyekFTByORdTkcTWrmCz3gja8=",
|
||||
"owner": "homebrew",
|
||||
"repo": "homebrew-core",
|
||||
"rev": "5bf3c1c505315f0adff00ce8921169fbf7df217c",
|
||||
"rev": "0f996959e7c025eb54aa1ada8b43dad0737e78a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -355,11 +543,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722924007,
|
||||
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
|
||||
"lastModified": 1724561770,
|
||||
"narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=",
|
||||
"owner": "LnL7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
|
||||
"rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -386,6 +574,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724469941,
|
||||
"narHash": "sha256-+U5152FwmDD9EUOiFi5CFxCK6/yFESyDei9jEIlmUtI=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "ea319a737939094b48fda9063fa3201ef2479aac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-homebrew": {
|
||||
"inputs": {
|
||||
"brew-src": "brew-src",
|
||||
|
@ -420,6 +630,18 @@
|
|||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1722555339,
|
||||
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1710695816,
|
||||
|
@ -454,11 +676,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1723362943,
|
||||
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||
"lastModified": 1724224976,
|
||||
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -468,6 +690,94 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1724224976,
|
||||
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-darwin": "nix-darwin_3",
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724528976,
|
||||
"narHash": "sha256-5W13nD/5ySIsxSvDqXHlj4bg2F3tNcYGKCGudWzpNzw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "8234ee85eaa2c8b7f2c74f5b4cdf02c4965b07fc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723969429,
|
||||
"narHash": "sha256-BuewfNEXEf11MIkJY+uvWsdLu1dIvgJqntWChvNdALg=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "a05d1805f2a2bc47d230e5e92aecbf69f784f3d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"personal-neovim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixvim": "nixvim"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724569831,
|
||||
"narHash": "sha256-GwBiSvqGOlkWqRfsgv9A+e+v6dPDd8J3YEwtez3jnkI=",
|
||||
"owner": "youwen5",
|
||||
"repo": "neovim-flake",
|
||||
"rev": "e78144554b191f08a05c7e3d0cb7966c363fcdbb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "youwen5",
|
||||
"repo": "neovim-flake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
|
@ -508,6 +818,8 @@
|
|||
"nix-darwin": "nix-darwin",
|
||||
"nix-homebrew": "nix-homebrew",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"personal-neovim": "personal-neovim",
|
||||
"spicetify": "spicetify",
|
||||
"stablepkgs": "stablepkgs"
|
||||
}
|
||||
},
|
||||
|
@ -552,13 +864,34 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"spicetify": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724559309,
|
||||
"narHash": "sha256-9y3yreHjQyyn8bIQmTx1ZkiNGgq1og/PDUZLiE96iJA=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "spicetify-nix",
|
||||
"rev": "8d823dea059ec5de57f276360acbd0601b20e433",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Gerg-L",
|
||||
"repo": "spicetify-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stablepkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1723556749,
|
||||
"narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=",
|
||||
"lastModified": 1724316499,
|
||||
"narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4a92571f9207810b559c9eac203d1f4d79830073",
|
||||
"rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -612,6 +945,43 @@
|
|||
"repo": "default",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"personal-neovim",
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724338379,
|
||||
"narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "070f834771efa715f3e74cd8ab93ecc96fabc951",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
202
flake.nix
202
flake.nix
|
@ -3,178 +3,108 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stablepkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
|
||||
bleedingpkgs.url = "github:nixos/nixpkgs/master";
|
||||
nix-darwin.url = "github:LnL7/nix-darwin";
|
||||
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
nix-darwin = {
|
||||
url = "github:LnL7/nix-darwin";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
|
||||
|
||||
homebrew-core = {
|
||||
url = "github:homebrew/homebrew-core";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
homebrew-cask = {
|
||||
url = "github:homebrew/homebrew-cask";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.1";
|
||||
|
||||
# Optional but recommended to limit the size of your system closure.
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
lix-module = {
|
||||
url =
|
||||
"https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
apple-silicon = {
|
||||
url = "github:tpwrules/nixos-apple-silicon";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
spicetify = {
|
||||
url = "github:Gerg-L/spicetify-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
personal-neovim.url = "github:youwen5/neovim-flake";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, catppuccin, lanzaboote, stablepkgs
|
||||
, bleedingpkgs, lix-module, nix-darwin, nix-homebrew, apple-silicon, ...
|
||||
}@inputs: rec {
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
|
||||
nixosConfigurations = {
|
||||
demeter = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
nix-darwin,
|
||||
...
|
||||
} @ inputs: let
|
||||
in {
|
||||
formatter = with nixpkgs.legacyPackages; {
|
||||
x86_64-linux = x86_64-linux.alejandra;
|
||||
aarch64-linux = aarch64-linux.alejandra;
|
||||
aarch64-darwin = aarch64-darwin.alejandra;
|
||||
};
|
||||
|
||||
nixosConfigurations = {
|
||||
demeter = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/demeter
|
||||
./modules/nixos/gaming
|
||||
./modules/nixos/audio
|
||||
./modules/nixos/networking
|
||||
./modules/nixos/fonts
|
||||
./modules/nixos/greeter
|
||||
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
./users/youwen/linux/desktop
|
||||
./users/youwen/linux/packages/x86_64
|
||||
./users/youwen/linux/programs
|
||||
./users/youwen/common/neofetch
|
||||
./users/youwen/common
|
||||
inputs.catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
callisto = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
./hosts/callisto
|
||||
./modules/nixos/audio
|
||||
./modules/nixos/networking
|
||||
./modules/nixos/fonts
|
||||
./modules/nixos/greeter
|
||||
|
||||
apple-silicon.nixosModules.apple-silicon-support
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
./users/youwen/common
|
||||
./users/youwen/common/neofetch/asahi-only.nix
|
||||
./users/youwen/linux/laptop
|
||||
./users/youwen/linux/packages/aarch-64
|
||||
|
||||
inputs.catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
signal-desktop =
|
||||
bleedingpkgs.legacyPackages.${self.system}.signal-desktop;
|
||||
})
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
adrastea = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/adrastea
|
||||
./modules/nixos/gaming
|
||||
./modules/nixos/audio
|
||||
./modules/nixos/networking
|
||||
./modules/nixos/fonts
|
||||
./modules/nixos/greeter
|
||||
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
# lanzaboote.nixosModules.lanzaboote
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
./users/youwen/linux/laptop
|
||||
./users/youwen/linux/packages/x86_64
|
||||
./users/youwen/linux/programs
|
||||
./users/youwen/common
|
||||
./users/youwen/common/neofetch
|
||||
./hosts/adrastea/home-manager-overrides.nix
|
||||
inputs.catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
formatter.aarch64-darwin = nixpkgs.legacyPackages.aarch64-darwin.nixfmt;
|
||||
formatter.aarch64-linux = nixpkgs.legacyPackages.aarch64-linux.nixfmt;
|
||||
# Build darwin flake using:
|
||||
# $ darwin-rebuild build --flake .#Youwens-MacBook-Pro
|
||||
darwinConfigurations.phobos = nix-darwin.lib.darwinSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./hosts/phobos
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.youwen.imports = [
|
||||
./users/youwen/darwin/darwin-home.nix
|
||||
./users/youwen/common/core.nix
|
||||
./users/youwen/common/neofetch
|
||||
];
|
||||
home-manager.backupFileExtension = "backup";
|
||||
./hosts/demeter
|
||||
];
|
||||
};
|
||||
|
||||
# Optionally, use home-manager.extraSpecialArgs to pass
|
||||
# arguments to home.nix
|
||||
}
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
./modules/darwin/homebrew.nix
|
||||
./modules/darwin/yabai.nix
|
||||
./modules/darwin/skhd.nix
|
||||
callisto = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
system = "aarch64-linux";
|
||||
};
|
||||
modules = [
|
||||
./hosts/callisto
|
||||
];
|
||||
};
|
||||
adrastea = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
system = "x86_64-linux";
|
||||
};
|
||||
modules = [
|
||||
./hosts/adrastea
|
||||
];
|
||||
};
|
||||
};
|
||||
darwinConfigurations.phobos = nix-darwin.lib.darwinSystem {
|
||||
specialArgs = {inherit inputs;};
|
||||
modules = [
|
||||
./hosts/phobos
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
190
hosts/adrastea/configuration.nix
Executable file
190
hosts/adrastea/configuration.nix
Executable file
|
@ -0,0 +1,190 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 15;
|
||||
# Lanzaboote currently replaces the systemd-boot module.
|
||||
# This setting is usually set to true in configuration.nix
|
||||
# generated at installation time. So we force it to false
|
||||
# for now.
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
};
|
||||
|
||||
# boot.lanzaboote = {
|
||||
# enable = false;
|
||||
# pkiBundle = "/etc/secureboot";
|
||||
# };
|
||||
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = ["*"];
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "esc";
|
||||
leftalt = "leftcontrol";
|
||||
leftcontrol = "leftalt";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-52d1be6d-b32f-41e0-a6d7-2ff52599fe7c".device = "/dev/disk/by-uuid/52d1be6d-b32f-41e0-a6d7-2ff52599fe7c";
|
||||
|
||||
services.tlp.enable = true;
|
||||
|
||||
networking.hostName = "adrastea"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# select kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
systemd.services = {NetworkManager-wait-online.enable = false;};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [icu xorg.libXtst xorg.libXi];
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
prime = {
|
||||
amdgpuBusId = "PCI:4:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
# services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
git
|
||||
curl
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
};
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
}
|
254
hosts/adrastea/default.nix
Executable file → Normal file
254
hosts/adrastea/default.nix
Executable file → Normal file
|
@ -1,228 +1,40 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, inputs, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/gaming
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../overlays
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 15;
|
||||
# Lanzaboote currently replaces the systemd-boot module.
|
||||
# This setting is usually set to true in configuration.nix
|
||||
# generated at installation time. So we force it to false
|
||||
# for now.
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
};
|
||||
|
||||
# boot.lanzaboote = {
|
||||
# enable = false;
|
||||
# pkiBundle = "/etc/secureboot";
|
||||
# };
|
||||
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = [ "*" ];
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "esc";
|
||||
leftalt = "leftcontrol";
|
||||
leftcontrol = "leftalt";
|
||||
};
|
||||
};
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-52d1be6d-b32f-41e0-a6d7-2ff52599fe7c".device =
|
||||
"/dev/disk/by-uuid/52d1be6d-b32f-41e0-a6d7-2ff52599fe7c";
|
||||
|
||||
services.tlp.enable = true;
|
||||
|
||||
networking.hostName = "adrastea"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# select kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
systemd.services = { NetworkManager-wait-online.enable = false; };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [ icu xorg.libXtst xorg.libXi ];
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
prime = {
|
||||
amdgpuBusId = "PCI:4:0:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
offload = {
|
||||
enable = true;
|
||||
enableOffloadCmd = true;
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
./home-manager-extras
|
||||
../../users/youwen/linux/laptop
|
||||
../../users/youwen/linux/packages/x86_64
|
||||
../../users/youwen/linux/programs
|
||||
../../users/youwen/common
|
||||
../../users/youwen/common/neofetch
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
# services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = [ "networkmanager" "wheel" "nixos" "realtime" ];
|
||||
};
|
||||
|
||||
users.groups.realtime = { };
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = [ "root" "youwen" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
wget
|
||||
git
|
||||
curl
|
||||
librewolf
|
||||
gnumake
|
||||
clang
|
||||
gcc
|
||||
cachix
|
||||
nodejs_22
|
||||
cargo
|
||||
rustc
|
||||
gnupg
|
||||
openssh
|
||||
python3
|
||||
steam-run
|
||||
|
||||
# deps for neovim compilation
|
||||
lua51Packages.lua
|
||||
lua51Packages.luarocks
|
||||
tree-sitter
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
};
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
@ -1,33 +1,34 @@
|
|||
# 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") ];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [(modulesPath + "/installer/scan/not-detected.nix")];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/01983a52-5693-4cda-ad2e-5a406776bfb9";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-f169a679-d70b-4dff-a344-7131f3303813".device =
|
||||
"/dev/disk/by-uuid/f169a679-d70b-4dff-a344-7131f3303813";
|
||||
boot.initrd.luks.devices."luks-f169a679-d70b-4dff-a344-7131f3303813".device = "/dev/disk/by-uuid/f169a679-d70b-4dff-a344-7131f3303813";
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/3FCB-9D60";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[{ device = "/dev/disk/by-uuid/f28d0752-feab-4591-899e-e5deac3712d0"; }];
|
||||
swapDevices = [{device = "/dev/disk/by-uuid/f28d0752-feab-4591-899e-e5deac3712d0";}];
|
||||
|
||||
# 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
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
wayland.windowManager.hyprland.settings.monitor = pkgs.lib.mkForce [ "eDP-1,2560x1440@165,0x0,1.6" ];
|
||||
{pkgs, ...}: {
|
||||
wayland.windowManager.hyprland.settings.monitor = pkgs.lib.mkForce ["eDP-1,2560x1440@165,0x0,1.6"];
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
diff --git a/src/protocols/LinuxDMABUF.cpp b/src/protocols/LinuxDMABUF.cpp
|
||||
index 0fbf832e..c6077114 100644
|
||||
--- a/src/protocols/LinuxDMABUF.cpp
|
||||
+++ b/src/protocols/LinuxDMABUF.cpp
|
||||
@@ -492,9 +492,8 @@ CLinuxDMABufV1Protocol::CLinuxDMABufV1Protocol(const wl_interface* iface, const
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
- protoLog(ERR, "DRM device {} has no render node, disabling linux dmabuf", device->nodes[DRM_NODE_PRIMARY] ? device->nodes[DRM_NODE_PRIMARY] : "null");
|
||||
+ protoLog(ERR, "DRM device {} has no render node, disabling linux dmabuf checks", device->nodes[DRM_NODE_PRIMARY] ? device->nodes[DRM_NODE_PRIMARY] : "null");
|
||||
drmFreeDevice(&device);
|
||||
- removeGlobal();
|
||||
}
|
||||
});
|
||||
}
|
231
hosts/callisto/configuration.nix
Executable file
231
hosts/callisto/configuration.nix
Executable file
|
@ -0,0 +1,231 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# ./apple-silicon-support
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
|
||||
hardware.asahi = {
|
||||
peripheralFirmwareDirectory = ./firmware;
|
||||
useExperimentalGPUDriver = true;
|
||||
experimentalGPUInstallMode = "overlay";
|
||||
};
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options hid_apple iso_layout=0
|
||||
'';
|
||||
|
||||
boot.kernelParams = ["apple_dcp.show_notch=1"];
|
||||
|
||||
networking.hostName = "callisto"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
networking.wireless.iwd = {
|
||||
enable = true;
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
|
||||
nixpkgs.overlays = let
|
||||
stablepkgs = inputs.stablepkgs.legacyPackages.${pkgs.system};
|
||||
in [
|
||||
inputs.apple-silicon.overlays.apple-silicon-overlay
|
||||
(final: prev: {
|
||||
hyprland = prev.hyprland.overrideAttrs (oldAttrs: {
|
||||
src = oldAttrs.src;
|
||||
patches =
|
||||
oldAttrs.patches
|
||||
or []
|
||||
++ [
|
||||
./0001-linux-dmabuf-allow-on-split-node-systems.patch
|
||||
];
|
||||
});
|
||||
|
||||
vesktop = with pkgs; let
|
||||
pname = "vesktop";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Vencord/Vesktop/releases/download/v${version}/${pname}-${version}-arm64.AppImage";
|
||||
hash = "sha256-4F1oR2nc54EZ2heGVkz4vqZzmwn0exa2+AcYHpeTb98=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
inherit pname version src;
|
||||
};
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = pname;
|
||||
desktopName = "Vesktop";
|
||||
exec = "vesktop %U --ozone-platform-hint=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime";
|
||||
icon = "vesktop";
|
||||
startupWMClass = "Vesktop";
|
||||
genericName = "Internet Messenger";
|
||||
keywords = [
|
||||
"discord"
|
||||
];
|
||||
categories = [
|
||||
"Network"
|
||||
"InstantMessaging"
|
||||
"Chat"
|
||||
];
|
||||
};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share
|
||||
cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
|
||||
chmod -R +w $out/share
|
||||
mv $out/share/icons/hicolor/{16x16,256x256}
|
||||
'';
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
programs.light.enable = true;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
# networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [icu xorg.libXtst xorg.libXi];
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
KERNEL=="macsmc-battery", SUBSYSTEM=="power_supply", ATTR{charge_control_end_threshold}="80", ATTR{charge_control_start_threshold}="70"
|
||||
'';
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
git
|
||||
curl
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
};
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = ["*"];
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "esc";
|
||||
leftmeta = "leftcontrol";
|
||||
leftalt = "leftmeta";
|
||||
leftcontrol = "leftalt";
|
||||
rightmeta = "leftalt";
|
||||
rightalt = "layer(rightalt)";
|
||||
};
|
||||
rightalt = {
|
||||
i = "up";
|
||||
j = "left";
|
||||
k = "down";
|
||||
l = "right";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.tlp.enable = true;
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
# programs.hyprland.package = inputs.stablepkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
}
|
241
hosts/callisto/default.nix
Executable file → Normal file
241
hosts/callisto/default.nix
Executable file → Normal file
|
@ -1,213 +1,38 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, inputs, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
# ./apple-silicon-support
|
||||
];
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../overlays
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = false;
|
||||
|
||||
hardware.asahi = {
|
||||
peripheralFirmwareDirectory = ./firmware;
|
||||
useExperimentalGPUDriver = true;
|
||||
experimentalGPUInstallMode = "overlay";
|
||||
};
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options hid_apple iso_layout=0
|
||||
'';
|
||||
|
||||
boot.kernelParams = [ "apple_dcp.show_notch=1" ];
|
||||
|
||||
networking.hostName = "callisto"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
networking.wireless.iwd = {
|
||||
enable = true;
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
|
||||
nixpkgs.overlays = [ inputs.apple-silicon.overlays.apple-silicon-overlay ];
|
||||
|
||||
programs.light.enable = true;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
# networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [ icu xorg.libXtst xorg.libXi ];
|
||||
};
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = [ "networkmanager" "wheel" "nixos" "realtime" ];
|
||||
};
|
||||
|
||||
users.groups.realtime = { };
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = [ "root" "youwen" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
KERNEL=="macsmc-battery", SUBSYSTEM=="power_supply", ATTR{charge_control_end_threshold}="80", ATTR{charge_control_start_threshold}="70"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
apple-silicon.nixosModules.apple-silicon-support
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
wget
|
||||
git
|
||||
curl
|
||||
# librewolf
|
||||
# gnumake
|
||||
# clang
|
||||
# gcc
|
||||
# cachix
|
||||
# nodejs_22
|
||||
# cargo
|
||||
# rustc
|
||||
# gnupg
|
||||
# openssh
|
||||
# python3
|
||||
# steam-run
|
||||
|
||||
# # deps for neovim compilation
|
||||
# lua51Packages.lua
|
||||
# lua51Packages.luarocks
|
||||
# tree-sitter
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
|
||||
};
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards = {
|
||||
default = {
|
||||
ids = [ "*" ];
|
||||
settings = {
|
||||
main = {
|
||||
capslock = "esc";
|
||||
leftmeta = "leftcontrol";
|
||||
leftalt = "leftmeta";
|
||||
leftcontrol = "leftalt";
|
||||
rightmeta = "leftalt";
|
||||
rightalt = "layer(rightalt)";
|
||||
};
|
||||
rightalt = {
|
||||
i = "up";
|
||||
j = "left";
|
||||
k = "down";
|
||||
l = "right";
|
||||
};
|
||||
};
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.tlp.enable = true;
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
../../users/youwen/common
|
||||
../../users/youwen/linux/laptop
|
||||
../../users/youwen/linux/packages/aarch-64
|
||||
./home-manager-extras
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
|
|
28
hosts/callisto/hardware-configuration.nix
Executable file → Normal file
28
hosts/callisto/hardware-configuration.nix
Executable file → Normal file
|
@ -1,28 +1,36 @@
|
|||
# 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") ];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "usb_storage" "sdhci_pci" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["usb_storage" "sdhci_pci"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/bc88058e-6e3a-4987-b78e-e19cb5611608";
|
||||
device = "/dev/mapper/crypted";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/f4c552be-a4c2-4ca0-aec6-ed692d78fe24";
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/852F-07F1";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
||||
|
|
4
hosts/callisto/home-manager-extras/default.nix
Normal file
4
hosts/callisto/home-manager-extras/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
wayland.windowManager.hyprland.package = pkgs.lib.mkForce pkgs.hyprland;
|
||||
home.file.".config/neofetch/config.conf".source = ./neofetch-asahi.conf;
|
||||
}
|
173
hosts/demeter/configuration.nix
Executable file
173
hosts/demeter/configuration.nix
Executable file
|
@ -0,0 +1,173 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
{
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 15;
|
||||
# Lanzaboote currently replaces the systemd-boot module.
|
||||
# This setting is usually set to true in configuration.nix
|
||||
# generated at installation time. So we force it to false
|
||||
# for now.
|
||||
systemd-boot = {
|
||||
enable = false;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
};
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-af320a0f-b388-43f5-b5a3-af2b47cfc716".device = "/dev/disk/by-uuid/af320a0f-b388-43f5-b5a3-af2b47cfc716";
|
||||
|
||||
networking.hostName = "demeter"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# select kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
systemd.services = {NetworkManager-wait-online.enable = false;};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [icu xorg.libXtst xorg.libXi];
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = ["networkmanager"];
|
||||
};
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "youwen"];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
git
|
||||
curl
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
};
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
}
|
239
hosts/demeter/default.nix
Executable file → Normal file
239
hosts/demeter/default.nix
Executable file → Normal file
|
@ -1,208 +1,43 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, inputs, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
../../modules/linux/gaming
|
||||
../../modules/linux/audio
|
||||
../../modules/linux/networking
|
||||
../../modules/linux/fonts
|
||||
../../modules/linux/greeter
|
||||
../../modules/linux/core
|
||||
../../modules/linux/hamachi
|
||||
../../overlays
|
||||
|
||||
# Bootloader.
|
||||
boot.loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
timeout = 15;
|
||||
# Lanzaboote currently replaces the systemd-boot module.
|
||||
# This setting is usually set to true in configuration.nix
|
||||
# generated at installation time. So we force it to false
|
||||
# for now.
|
||||
systemd-boot = {
|
||||
enable = false;
|
||||
consoleMode = "auto";
|
||||
};
|
||||
};
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-af320a0f-b388-43f5-b5a3-af2b47cfc716".device = "/dev/disk/by-uuid/af320a0f-b388-43f5-b5a3-af2b47cfc716";
|
||||
|
||||
networking.hostName = "demeter"; # Define your hostname.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
|
||||
# select kernel
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable networking
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Los_Angeles";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
systemd.services = { NetworkManager-wait-online.enable = false; };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# You can disable this if you're only using the Wayland session.
|
||||
services.xserver.enable = false;
|
||||
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
libraries = with pkgs; [ icu xorg.libXtst xorg.libXi ];
|
||||
};
|
||||
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
powerManagement.finegrained = false;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
};
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
|
||||
services.xserver.videoDrivers = [ "nvidia" ];
|
||||
|
||||
# services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
xkb.layout = "us";
|
||||
xkb.variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.youwen = {
|
||||
isNormalUser = true;
|
||||
description = "Youwen Wu";
|
||||
extraGroups = [ "networkmanager" "wheel" "nixos" "realtime" ];
|
||||
};
|
||||
|
||||
users.groups.realtime = { };
|
||||
|
||||
nix.settings = {
|
||||
trusted-users = [ "root" "youwen" ];
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
KERNEL=="cpu_dma_latency", GROUP="realtime"
|
||||
'';
|
||||
|
||||
security.pam.loginLimits = [
|
||||
catppuccin.nixosModules.catppuccin
|
||||
lix-module.nixosModules.default
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "rtprio";
|
||||
value = 98;
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "memlock";
|
||||
value = "unlimited";
|
||||
}
|
||||
{
|
||||
domain = "@realtime";
|
||||
type = "-";
|
||||
item = "nice";
|
||||
value = -11;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
inherit system;
|
||||
};
|
||||
home-manager.users.youwen = {
|
||||
imports = [
|
||||
../../users/youwen/linux/desktop
|
||||
../../users/youwen/linux/packages/x86_64
|
||||
../../users/youwen/linux/programs
|
||||
../../users/youwen/common/neofetch
|
||||
../../users/youwen/common
|
||||
../../users/youwen/linux/spicetify
|
||||
./home-manager-extras
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
wget
|
||||
git
|
||||
curl
|
||||
librewolf
|
||||
gnumake
|
||||
clang
|
||||
gcc
|
||||
cachix
|
||||
nodejs_22
|
||||
cargo
|
||||
rustc
|
||||
gnupg
|
||||
openssh
|
||||
python3
|
||||
steam-run
|
||||
|
||||
# deps for neovim compilation
|
||||
lua51Packages.lua
|
||||
lua51Packages.luarocks
|
||||
tree-sitter
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
EDITOR = "nvim";
|
||||
NIX_AUTO_RUN = 1;
|
||||
};
|
||||
|
||||
# tells electron apps to use Wayland
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
programs.zsh.enable = false;
|
||||
programs.fish.enable = true;
|
||||
users.users.youwen.shell = pkgs.fish;
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
# this value at the release version of the first install of this system.
|
||||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
}
|
||||
|
|
|
@ -1,34 +1,38 @@
|
|||
# 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")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/5a339a7f-8668-42d7-9ecc-d7a8f1d3f7b2";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/5a339a7f-8668-42d7-9ecc-d7a8f1d3f7b2";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-362ec972-7c5e-4c9f-ba5d-b8f2ed083509".device = "/dev/disk/by-uuid/362ec972-7c5e-4c9f-ba5d-b8f2ed083509";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/27EE-D950";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/27EE-D950";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/670fc084-d593-44b3-aed9-78d95fec71de"; }
|
||||
];
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/670fc084-d593-44b3-aed9-78d95fec71de";}
|
||||
];
|
||||
|
||||
# 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
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
[ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/2616d86c-aac2-4780-9527-7b11192e783f";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/B826-E14B";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# 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.enp6s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode =
|
||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
8
hosts/demeter/home-manager-extras/default.nix
Normal file
8
hosts/demeter/home-manager-extras/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
wayland.windowManager.hyprland.settings.monitor = ["DP-1,2560x1440@165,1920x0,auto" "HDMI-A-1,1920x1080@60,0x0,1"];
|
||||
wayland.windowManager.hyprland.package = inputs.stablepkgs.legacyPackages.${system}.hyprland;
|
||||
}
|
57
hosts/phobos/configuration.nix
Executable file
57
hosts/phobos/configuration.nix
Executable file
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Expose the package set, including overlays, for convenience.
|
||||
# darwinPackages = inputs.self.darwinConfigurations."Youwens-MacBook-Pro".pkgs;
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [];
|
||||
|
||||
# Use a custom configuration.nix location.
|
||||
# $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix
|
||||
# environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
# nix.package = pkgs.nix;
|
||||
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
programs.fish.enable = true;
|
||||
programs.bash.enable = true;
|
||||
|
||||
system.configurationRevision =
|
||||
config.self.rev or config.self.dirtyRev or null;
|
||||
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
system.stateVersion = 4;
|
||||
|
||||
users.users.youwen = {
|
||||
home = "/Users/youwen";
|
||||
description = "Youwen Wu";
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override {fonts = ["CascadiaCode"];})
|
||||
(google-fonts.override {fonts = ["Lora"];})
|
||||
];
|
||||
};
|
||||
}
|
71
hosts/phobos/default.nix
Executable file → Normal file
71
hosts/phobos/default.nix
Executable file → Normal file
|
@ -1,52 +1,21 @@
|
|||
{ inputs, config, pkgs, ... }: {
|
||||
# Expose the package set, including overlays, for convenience.
|
||||
# darwinPackages = inputs.self.darwinConfigurations."Youwens-MacBook-Pro".pkgs;
|
||||
|
||||
# List packages installed in system profile. To search by name, run:
|
||||
# $ nix-env -qaP | grep wget
|
||||
environment.systemPackages = with pkgs; [ ];
|
||||
|
||||
# Use a custom configuration.nix location.
|
||||
# $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix
|
||||
# environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix";
|
||||
|
||||
# Auto upgrade nix package and the daemon service.
|
||||
services.nix-daemon.enable = true;
|
||||
# nix.package = pkgs.nix;
|
||||
|
||||
nix.settings.experimental-features = "nix-command flakes";
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# Create /etc/zshrc that loads the nix-darwin environment.
|
||||
programs.zsh.enable = true; # default shell on catalina
|
||||
programs.fish.enable = true;
|
||||
programs.bash.enable = true;
|
||||
|
||||
system.configurationRevision =
|
||||
config.self.rev or config.self.dirtyRev or null;
|
||||
|
||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||
|
||||
# Used for backwards compatibility, please read the changelog before changing.
|
||||
# $ darwin-rebuild changelog
|
||||
system.stateVersion = 4;
|
||||
|
||||
users.users.youwen = {
|
||||
home = "/Users/youwen";
|
||||
description = "Youwen Wu";
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
security.pam.enableSudoTouchIdAuth = true;
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
|
||||
(google-fonts.override { fonts = [ "Lora" ]; })
|
||||
];
|
||||
};
|
||||
{inputs, ...}: {
|
||||
imports = with inputs; [
|
||||
./configuration.nix
|
||||
home-manager.darwinModules.home-manager
|
||||
{
|
||||
extraSpecialArgs = {inherit inputs;};
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.youwen.imports = [
|
||||
../../users/youwen/darwin/darwin-home.nix
|
||||
../../users/youwen/common/core.nix
|
||||
../../users/youwen/common/neofetch
|
||||
];
|
||||
home-manager.backupFileExtension = "backup";
|
||||
}
|
||||
nix-homebrew.darwinModules.nix-homebrew
|
||||
../../modules/darwin/homebrew.nix
|
||||
../../modules/darwin/yabai.nix
|
||||
../../modules/darwin/skhd.nix
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ inputs, ... }: {
|
||||
{inputs, ...}: {
|
||||
nix-homebrew = {
|
||||
enable = true;
|
||||
enableRosetta = true;
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{ config, pkgs, ... }: {
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
services.yabai = {
|
||||
enable = true;
|
||||
enableScriptingAddition = true;
|
||||
|
@ -28,4 +32,3 @@
|
|||
blur_radius = 5.0;
|
||||
};
|
||||
}
|
||||
|
||||
|
|
22
modules/linux/core/default.nix
Normal file
22
modules/linux/core/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = [
|
||||
inputs.personal-neovim.packages.${system}.default
|
||||
];
|
||||
|
||||
security.sudo.enable = false;
|
||||
|
||||
security.doas = {
|
||||
enable = true;
|
||||
extraRules = [
|
||||
{
|
||||
users = ["youwen"];
|
||||
keepEnv = true;
|
||||
persist = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,18 +1,18 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
fontconfig = {
|
||||
defaultFonts = {
|
||||
serif = [ "Noto Serif" ];
|
||||
sansSerif = [ "Noto Sans" ];
|
||||
serif = ["Noto Serif"];
|
||||
sansSerif = ["Noto Sans"];
|
||||
};
|
||||
};
|
||||
packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
|
||||
(google-fonts.override { fonts = [ "Lora" ]; })
|
||||
(nerdfonts.override {fonts = ["CascadiaCode"];})
|
||||
(google-fonts.override {fonts = ["Lora"];})
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,5 +1,4 @@
|
|||
{pkgs, ...}:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = {
|
4
modules/linux/hamachi/default.nix
Normal file
4
modules/linux/hamachi/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
services.logmein-hamachi.enable = true;
|
||||
programs.haguichi.enable = true;
|
||||
}
|
19
modules/linux/networking/default.nix
Executable file
19
modules/linux/networking/default.nix
Executable file
|
@ -0,0 +1,19 @@
|
|||
let
|
||||
universalAllowedPorts = [27016 42805];
|
||||
universalAllowedRanges = [
|
||||
{
|
||||
from = 42852;
|
||||
to = 42872;
|
||||
}
|
||||
];
|
||||
in {
|
||||
services.openssh.enable = true;
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = universalAllowedPorts;
|
||||
allowedUDPPorts = universalAllowedPorts;
|
||||
allowedUDPPortRanges = universalAllowedRanges;
|
||||
allowedTCPPortRanges = universalAllowedRanges;
|
||||
};
|
||||
networking.firewall.enable = true;
|
||||
networking.nameservers = ["1.1.1.1" "1.0.0.1"];
|
||||
}
|
9
modules/linux/spotifyd/default.nix
Normal file
9
modules/linux/spotifyd/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{pkgs, ...}: {
|
||||
services.spotifyd = {
|
||||
enable = true;
|
||||
# settings = {global = 320;};
|
||||
};
|
||||
environment.systemPackages = [
|
||||
pkgs.spotify-player
|
||||
];
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
{
|
||||
services.openssh.enable = true;
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
networking.nameservers = [ "1.1.1.1" "1.0.0.1" ];
|
||||
}
|
14
overlays/default.nix
Normal file
14
overlays/default.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
stablepkgs = inputs.stablepkgs.legacyPackages.${pkgs.system};
|
||||
bleedingpkgs = inputs.bleedingpkgs.legacyPackages.${pkgs.system};
|
||||
in {
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
librewolf = stablepkgs.librewolf;
|
||||
})
|
||||
];
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
home.file.".essentials" = {
|
||||
source = ./essentials;
|
||||
recursive = true;
|
||||
|
@ -15,7 +15,7 @@
|
|||
'';
|
||||
};
|
||||
|
||||
programs.fzf = { enable = true; };
|
||||
programs.fzf = {enable = true;};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
@ -26,6 +26,7 @@
|
|||
init.defaultBranch = "main";
|
||||
commit.gpgsign = pkgs.lib.mkDefault "true";
|
||||
user.signingkey = "8F5E6C1AF90976CA7102917A865658ED1FE61EC3";
|
||||
safe.directory = "/etc/nixos/.git";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -57,7 +58,7 @@
|
|||
|
||||
programs.gh = {
|
||||
enable = true;
|
||||
extensions = [ pkgs.github-copilot-cli ];
|
||||
extensions = [pkgs.github-copilot-cli];
|
||||
};
|
||||
|
||||
programs.oh-my-posh = {
|
||||
|
@ -68,27 +69,22 @@
|
|||
useTheme = "gruvbox";
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = {
|
||||
rebuild = "sudo nixos-rebuild switch";
|
||||
ls = "eza -l --icons=auto";
|
||||
};
|
||||
functions = {
|
||||
update-nixos = {
|
||||
description =
|
||||
"Update the system flake and attempt to build and switch to the new configuration.";
|
||||
body = ''
|
||||
cd /etc/nixos
|
||||
nix flake update
|
||||
sudo nixos-rebuild switch
|
||||
'';
|
||||
};
|
||||
};
|
||||
shellInit = ''
|
||||
oh-my-posh disable notice
|
||||
'';
|
||||
interactiveShellInit = ''
|
||||
fish_vi_key_bindings
|
||||
set -g fish_greeting
|
||||
oh-my-posh disable notice
|
||||
'';
|
||||
plugins = [
|
||||
{
|
||||
|
@ -147,10 +143,31 @@
|
|||
enableBashIntegration = true;
|
||||
};
|
||||
|
||||
programs.neovim = {
|
||||
programs.yazi = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
plugins = {
|
||||
mediainfo = pkgs.fetchFromGitHub {
|
||||
owner = "Ape";
|
||||
repo = "mediainfo.yazi";
|
||||
rev = "c69314e80f5b45fe87a0e06a10d064ed54110439";
|
||||
hash = "sha256-8xdBPdKSiwB7iRU8DJdTHY+BjfR9D3FtyVtDL9tNiy4=";
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
plugin = {
|
||||
prepend_previewers = [
|
||||
{
|
||||
mime = "{image,audio,video}/*";
|
||||
run = "mediainfo";
|
||||
}
|
||||
{
|
||||
mime = "application/x-subrip";
|
||||
run = "mediainfo";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{ imports = [ ./core.nix ]; }
|
||||
{imports = [./core.nix];}
|
||||
|
|
|
@ -1,828 +0,0 @@
|
|||
# See this wiki page for more info:
|
||||
# https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
|
||||
print_info() {
|
||||
|
||||
# prin " $(color 6) コンピューター"
|
||||
prin "$(color 16)┌──────────────────────────────────────────┐"
|
||||
|
||||
info " $(color 1) OS " distro
|
||||
info " $(color 1) Host " model
|
||||
info " $(color 1) Kernel " kernel
|
||||
# info " $(color 1) Uptime " uptime
|
||||
info " $(color 2) Packages " packages
|
||||
info " $(color 2) Shell " shell
|
||||
info " $(color 2) Resolution " resolution
|
||||
info " $(color 3) DE " de
|
||||
# info " $(color 3) 缾WM " wm
|
||||
# info " $(color 12) WM Theme " wm_theme
|
||||
# info "$(color 13) Theme " theme
|
||||
# info "$(color 14) Icons " icons
|
||||
info " $(color 3) Terminal " term
|
||||
# info " Font " font
|
||||
# info " Terminal Font " term_font
|
||||
|
||||
prin "$(color 16)└──────────────────────────────────────────┘"
|
||||
prin " "
|
||||
info " $(color 6) " title
|
||||
prin "$(color 16)┌──────────────────────────────────────────┐"
|
||||
|
||||
info " $(color 12) CPU " cpu
|
||||
info " $(color 12) GPU " gpu
|
||||
info " $(color 13) GPU Driver " gpu_driver # Linux/macOS only
|
||||
info " $(color 13) Memory " memory
|
||||
|
||||
# info "CPU Usage" cpu_usage
|
||||
# info "Disk" disk
|
||||
# info "Battery" battery
|
||||
# info "Song" song
|
||||
# [[ "$player" ]] && prin "Music Player" "$player"
|
||||
# info "Local IP" local_ip
|
||||
# info "Public IP" public_ip
|
||||
# info "Users" users
|
||||
# info "Locale" locale # This only works on glibc systems.
|
||||
|
||||
prin "$(color 16)└──────────────────────────────────────────┘"
|
||||
prin " "
|
||||
prin " $(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7) $(color 8) $(color 16)"
|
||||
|
||||
}
|
||||
|
||||
# Title
|
||||
|
||||
# Hide/Show Fully qualified domain name.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --title_fqdn
|
||||
title_fqdn="off"
|
||||
|
||||
# Kernel
|
||||
|
||||
# Shorten the output of the kernel function.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --kernel_shorthand
|
||||
# Supports: Everything except *BSDs (except PacBSD and PC-BSD)
|
||||
#
|
||||
# Example:
|
||||
# on: '4.8.9-1-ARCH'
|
||||
# off: 'Linux 4.8.9-1-ARCH'
|
||||
kernel_shorthand="false"
|
||||
|
||||
# Distro
|
||||
|
||||
# Shorten the output of the distro function
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --distro_shorthand
|
||||
# Supports: Everything except Windows and Haiku
|
||||
distro_shorthand="on"
|
||||
|
||||
# Show/Hide OS Architecture.
|
||||
# Show 'x86_64', 'x86' and etc in 'Distro:' output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --os_arch
|
||||
#
|
||||
# Example:
|
||||
# on: 'Arch Linux x86_64'
|
||||
# off: 'Arch Linux'
|
||||
os_arch="on"
|
||||
|
||||
# Uptime
|
||||
|
||||
# Shorten the output of the uptime function
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'tiny', 'off'
|
||||
# Flag: --uptime_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: '2 days, 10 hours, 3 mins'
|
||||
# tiny: '2d 10h 3m'
|
||||
# off: '2 days, 10 hours, 3 minutes'
|
||||
uptime_shorthand="on"
|
||||
|
||||
# Memory
|
||||
|
||||
# Show memory pecentage in output.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --memory_percent
|
||||
#
|
||||
# Example:
|
||||
# on: '1801MiB / 7881MiB (22%)'
|
||||
# off: '1801MiB / 7881MiB'
|
||||
memory_percent="off"
|
||||
|
||||
# Change memory output unit.
|
||||
#
|
||||
# Default: 'mib'
|
||||
# Values: 'kib', 'mib', 'gib'
|
||||
# Flag: --memory_unit
|
||||
#
|
||||
# Example:
|
||||
# kib '1020928KiB / 7117824KiB'
|
||||
# mib '1042MiB / 6951MiB'
|
||||
# gib: ' 0.98GiB / 6.79GiB'
|
||||
memory_unit="mib"
|
||||
|
||||
# Packages
|
||||
|
||||
# Show/Hide Package Manager names.
|
||||
#
|
||||
# Default: 'tiny'
|
||||
# Values: 'on', 'tiny' 'off'
|
||||
# Flag: --package_managers
|
||||
#
|
||||
# Example:
|
||||
# on: '998 (pacman), 8 (flatpak), 4 (snap)'
|
||||
# tiny: '908 (pacman, flatpak, snap)'
|
||||
# off: '908'
|
||||
package_managers="tiny"
|
||||
|
||||
# Shell
|
||||
|
||||
# Show the path to $SHELL
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_path
|
||||
#
|
||||
# Example:
|
||||
# on: '/bin/bash'
|
||||
# off: 'bash'
|
||||
shell_path="off"
|
||||
|
||||
# Show $SHELL version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --shell_version
|
||||
#
|
||||
# Example:
|
||||
# on: 'bash 4.4.5'
|
||||
# off: 'bash'
|
||||
shell_version="on"
|
||||
|
||||
# CPU
|
||||
|
||||
# CPU speed type
|
||||
#
|
||||
# Default: 'bios_limit'
|
||||
# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
|
||||
# Flag: --speed_type
|
||||
# Supports: Linux with 'cpufreq'
|
||||
# NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
|
||||
speed_type="bios_limit"
|
||||
|
||||
# CPU speed shorthand
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'.
|
||||
# Flag: --speed_shorthand
|
||||
# NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
|
||||
#
|
||||
# Example:
|
||||
# on: 'i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'i7-6500U (4) @ 3.100GHz'
|
||||
speed_shorthand="off"
|
||||
|
||||
# Enable/Disable CPU brand in output.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U'
|
||||
# off: 'i7-6500U (4)'
|
||||
cpu_brand="on"
|
||||
|
||||
# CPU Speed
|
||||
# Hide/Show CPU speed.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --cpu_speed
|
||||
#
|
||||
# Example:
|
||||
# on: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
# off: 'Intel i7-6500U (4)'
|
||||
cpu_speed="on"
|
||||
|
||||
# CPU Cores
|
||||
# Display CPU cores in output
|
||||
#
|
||||
# Default: 'logical'
|
||||
# Values: 'logical', 'physical', 'off'
|
||||
# Flag: --cpu_cores
|
||||
# Support: 'physical' doesn't work on BSD.
|
||||
#
|
||||
# Example:
|
||||
# logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
|
||||
# physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
|
||||
# off: 'Intel i7-6500U @ 3.1GHz'
|
||||
cpu_cores="logical"
|
||||
|
||||
# CPU Temperature
|
||||
# Hide/Show CPU temperature.
|
||||
# Note the temperature is added to the regular CPU function.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'C', 'F', 'off'
|
||||
# Flag: --cpu_temp
|
||||
# Supports: Linux, BSD
|
||||
# NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
|
||||
# coretemp kernel module. This only supports newer Intel processors.
|
||||
#
|
||||
# Example:
|
||||
# C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
|
||||
# F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
|
||||
# off: 'Intel i7-6500U (4) @ 3.1GHz'
|
||||
cpu_temp="off"
|
||||
|
||||
# GPU
|
||||
|
||||
# Enable/Disable GPU Brand
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gpu_brand
|
||||
#
|
||||
# Example:
|
||||
# on: 'AMD HD 7950'
|
||||
# off: 'HD 7950'
|
||||
gpu_brand="on"
|
||||
|
||||
# Which GPU to display
|
||||
#
|
||||
# Default: 'all'
|
||||
# Values: 'all', 'dedicated', 'integrated'
|
||||
# Flag: --gpu_type
|
||||
# Supports: Linux
|
||||
#
|
||||
# Example:
|
||||
# all:
|
||||
# GPU1: AMD HD 7950
|
||||
# GPU2: Intel Integrated Graphics
|
||||
#
|
||||
# dedicated:
|
||||
# GPU1: AMD HD 7950
|
||||
#
|
||||
# integrated:
|
||||
# GPU1: Intel Integrated Graphics
|
||||
gpu_type="all"
|
||||
|
||||
# Resolution
|
||||
|
||||
# Display refresh rate next to each monitor
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --refresh_rate
|
||||
# Supports: Doesn't work on Windows.
|
||||
#
|
||||
# Example:
|
||||
# on: '1920x1080 @ 60Hz'
|
||||
# off: '1920x1080'
|
||||
refresh_rate="off"
|
||||
|
||||
# Gtk Theme / Icons / Font
|
||||
|
||||
# Shorten output of GTK Theme / Icons / Font
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix, Adwaita'
|
||||
# off: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
gtk_shorthand="off"
|
||||
|
||||
# Enable/Disable gtk2 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk2
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Adwaita [GTK3]'
|
||||
gtk2="on"
|
||||
|
||||
# Enable/Disable gtk3 Theme / Icons / Font
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --gtk3
|
||||
#
|
||||
# Example:
|
||||
# on: 'Numix [GTK2], Adwaita [GTK3]'
|
||||
# off: 'Numix [GTK2]'
|
||||
gtk3="on"
|
||||
|
||||
# IP Address
|
||||
|
||||
# Website to ping for the public IP
|
||||
#
|
||||
# Default: 'http://ident.me'
|
||||
# Values: 'url'
|
||||
# Flag: --ip_host
|
||||
public_ip_host="http://ident.me"
|
||||
|
||||
# Public IP timeout.
|
||||
#
|
||||
# Default: '2'
|
||||
# Values: 'int'
|
||||
# Flag: --ip_timeout
|
||||
public_ip_timeout=2
|
||||
|
||||
# Desktop Environment
|
||||
|
||||
# Show Desktop Environment version
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --de_version
|
||||
de_version="on"
|
||||
|
||||
# Disk
|
||||
|
||||
# Which disks to display.
|
||||
# The values can be any /dev/sdXX, mount point or directory.
|
||||
# NOTE: By default we only show the disk info for '/'.
|
||||
#
|
||||
# Default: '/'
|
||||
# Values: '/', '/dev/sdXX', '/path/to/drive'.
|
||||
# Flag: --disk_show
|
||||
#
|
||||
# Example:
|
||||
# disk_show=('/' '/dev/sdb1'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 823G / 893G (93%)'
|
||||
#
|
||||
# disk_show=('/'):
|
||||
# 'Disk (/): 74G / 118G (66%)'
|
||||
#
|
||||
disk_show=('/')
|
||||
|
||||
# Disk subtitle.
|
||||
# What to append to the Disk subtitle.
|
||||
#
|
||||
# Default: 'mount'
|
||||
# Values: 'mount', 'name', 'dir', 'none'
|
||||
# Flag: --disk_subtitle
|
||||
#
|
||||
# Example:
|
||||
# name: 'Disk (/dev/sda1): 74G / 118G (66%)'
|
||||
# 'Disk (/dev/sdb2): 74G / 118G (66%)'
|
||||
#
|
||||
# mount: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (/mnt/Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# dir: 'Disk (/): 74G / 118G (66%)'
|
||||
# 'Disk (Local Disk): 74G / 118G (66%)'
|
||||
# 'Disk (Videos): 74G / 118G (66%)'
|
||||
#
|
||||
# none: 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
# 'Disk: 74G / 118G (66%)'
|
||||
disk_subtitle="mount"
|
||||
|
||||
# Disk percent.
|
||||
# Show/Hide disk percent.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --disk_percent
|
||||
#
|
||||
# Example:
|
||||
# on: 'Disk (/): 74G / 118G (66%)'
|
||||
# off: 'Disk (/): 74G / 118G'
|
||||
disk_percent="on"
|
||||
|
||||
# Song
|
||||
|
||||
# Manually specify a music player.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'player-name'
|
||||
# Flag: --music_player
|
||||
#
|
||||
# Available values for 'player-name':
|
||||
#
|
||||
# amarok
|
||||
# audacious
|
||||
# banshee
|
||||
# bluemindo
|
||||
# clementine
|
||||
# cmus
|
||||
# deadbeef
|
||||
# deepin-music
|
||||
# dragon
|
||||
# elisa
|
||||
# exaile
|
||||
# gnome-music
|
||||
# gmusicbrowser
|
||||
# gogglesmm
|
||||
# guayadeque
|
||||
# io.elementary.music
|
||||
# iTunes
|
||||
# juk
|
||||
# lollypop
|
||||
# mocp
|
||||
# mopidy
|
||||
# mpd
|
||||
# muine
|
||||
# netease-cloud-music
|
||||
# olivia
|
||||
# playerctl
|
||||
# pogo
|
||||
# pragha
|
||||
# qmmp
|
||||
# quodlibet
|
||||
# rhythmbox
|
||||
# sayonara
|
||||
# smplayer
|
||||
# spotify
|
||||
# strawberry
|
||||
# tauonmb
|
||||
# tomahawk
|
||||
# vlc
|
||||
# xmms2d
|
||||
# xnoise
|
||||
# yarock
|
||||
music_player="auto"
|
||||
|
||||
# Format to display song information.
|
||||
#
|
||||
# Default: '%artist% - %album% - %title%'
|
||||
# Values: '%artist%', '%album%', '%title%'
|
||||
# Flag: --song_format
|
||||
#
|
||||
# Example:
|
||||
# default: 'Song: Jet - Get Born - Sgt Major'
|
||||
song_format="%artist% - %album% - %title%"
|
||||
|
||||
# Print the Artist, Album and Title on separate lines
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --song_shorthand
|
||||
#
|
||||
# Example:
|
||||
# on: 'Artist: The Fratellis'
|
||||
# 'Album: Costello Music'
|
||||
# 'Song: Chelsea Dagger'
|
||||
#
|
||||
# off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
|
||||
song_shorthand="off"
|
||||
|
||||
# 'mpc' arguments (specify a host, password etc).
|
||||
#
|
||||
# Default: ''
|
||||
# Example: mpc_args=(-h HOST -P PASSWORD)
|
||||
mpc_args=()
|
||||
|
||||
# Text Colors
|
||||
|
||||
# Text Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --colors
|
||||
#
|
||||
# Each number represents a different part of the text in
|
||||
# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
|
||||
#
|
||||
# Example:
|
||||
# colors=(distro) - Text is colored based on Distro colors.
|
||||
# colors=(4 6 1 8 8 6) - Text is colored in the order above.
|
||||
colors=(distro)
|
||||
|
||||
# Text Options
|
||||
|
||||
# Toggle bold text
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bold
|
||||
bold="on"
|
||||
|
||||
# Enable/Disable Underline
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --underline
|
||||
underline_enabled="on"
|
||||
|
||||
# Underline character
|
||||
#
|
||||
# Default: '-'
|
||||
# Values: 'string'
|
||||
# Flag: --underline_char
|
||||
underline_char="-"
|
||||
|
||||
# Info Separator
|
||||
# Replace the default separator with the specified string.
|
||||
#
|
||||
# Default: ':'
|
||||
# Flag: --separator
|
||||
#
|
||||
# Example:
|
||||
# separator="->": 'Shell-> bash'
|
||||
# separator=" =": 'WM = dwm'
|
||||
separator=":"
|
||||
|
||||
# Color Blocks
|
||||
|
||||
# Color block range
|
||||
# The range of colors to print.
|
||||
#
|
||||
# Default: '0', '15'
|
||||
# Values: 'num'
|
||||
# Flag: --block_range
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# Display colors 0-7 in the blocks. (8 colors)
|
||||
# neofetch --block_range 0 7
|
||||
#
|
||||
# Display colors 0-15 in the blocks. (16 colors)
|
||||
# neofetch --block_range 0 15
|
||||
block_range=(0 15)
|
||||
|
||||
# Toggle color blocks
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --color_blocks
|
||||
color_blocks="on"
|
||||
|
||||
# Color block width in spaces
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num'
|
||||
# Flag: --block_width
|
||||
block_width=3
|
||||
|
||||
# Color block height in lines
|
||||
#
|
||||
# Default: '1'
|
||||
# Values: 'num'
|
||||
# Flag: --block_height
|
||||
block_height=1
|
||||
|
||||
# Color Alignment
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'num'
|
||||
# Flag: --col_offset
|
||||
#
|
||||
# Number specifies how far from the left side of the terminal (in spaces) to
|
||||
# begin printing the columns, in case you want to e.g. center them under your
|
||||
# text.
|
||||
# Example:
|
||||
# col_offset="auto" - Default behavior of neofetch
|
||||
# col_offset=7 - Leave 7 spaces then print the colors
|
||||
col_offset="auto"
|
||||
|
||||
# Progress Bars
|
||||
|
||||
# Bar characters
|
||||
#
|
||||
# Default: '-', '='
|
||||
# Values: 'string', 'string'
|
||||
# Flag: --bar_char
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_char 'elapsed' 'total'
|
||||
# neofetch --bar_char '-' '='
|
||||
bar_char_elapsed="-"
|
||||
bar_char_total="="
|
||||
|
||||
# Toggle Bar border
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --bar_border
|
||||
bar_border="on"
|
||||
|
||||
# Progress bar length in spaces
|
||||
# Number of chars long to make the progress bars.
|
||||
#
|
||||
# Default: '15'
|
||||
# Values: 'num'
|
||||
# Flag: --bar_length
|
||||
bar_length=15
|
||||
|
||||
# Progress bar colors
|
||||
# When set to distro, uses your distro's logo colors.
|
||||
#
|
||||
# Default: 'distro', 'distro'
|
||||
# Values: 'distro', 'num'
|
||||
# Flag: --bar_colors
|
||||
#
|
||||
# Example:
|
||||
# neofetch --bar_colors 3 4
|
||||
# neofetch --bar_colors distro 5
|
||||
bar_color_elapsed="distro"
|
||||
bar_color_total="distro"
|
||||
|
||||
# Info display
|
||||
# Display a bar with the info.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'bar', 'infobar', 'barinfo', 'off'
|
||||
# Flags: --cpu_display
|
||||
# --memory_display
|
||||
# --battery_display
|
||||
# --disk_display
|
||||
#
|
||||
# Example:
|
||||
# bar: '[---=======]'
|
||||
# infobar: 'info [---=======]'
|
||||
# barinfo: '[---=======] info'
|
||||
# off: 'info'
|
||||
cpu_display="off"
|
||||
memory_display="off"
|
||||
battery_display="off"
|
||||
disk_display="off"
|
||||
|
||||
# Backend Settings
|
||||
|
||||
# Image backend.
|
||||
#
|
||||
# Default: 'ascii'
|
||||
# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
|
||||
# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
|
||||
# Flag: --backend
|
||||
image_backend="kitty"
|
||||
|
||||
# Image Source
|
||||
#
|
||||
# Which image or ascii file to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
|
||||
# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
|
||||
# Flag: --source
|
||||
#
|
||||
# NOTE: 'auto' will pick the best image source for whatever image backend is used.
|
||||
# In ascii mode, distro ascii art will be used and in an image mode, your
|
||||
# wallpaper will be used.
|
||||
# image_source=$(find "${XDG_CONFIG_HOME:-$HOME/.config}/neofetch/pngs/" -name "*.png" | sort -R | head -1)
|
||||
|
||||
# Ascii Options
|
||||
|
||||
# Ascii distro
|
||||
# Which distro's ascii art to display.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', 'distro_name'
|
||||
# Flag: --ascii_distro
|
||||
# NOTE: AIX, Alpine, Anarchy, Android, Antergos, antiX, "AOSC OS",
|
||||
# "AOSC OS/Retro", Apricity, ArcoLinux, ArchBox, ARCHlabs,
|
||||
# ArchStrike, XFerience, ArchMerge, Arch, Artix, Arya, Bedrock,
|
||||
# Bitrig, BlackArch, BLAG, BlankOn, BlueLight, bonsai, BSD,
|
||||
# BunsenLabs, Calculate, Carbs, CentOS, Chakra, ChaletOS,
|
||||
# Chapeau, Chrom*, Cleanjaro, ClearOS, Clear_Linux, Clover,
|
||||
# Condres, Container_Linux, CRUX, Cucumber, Debian, Deepin,
|
||||
# DesaOS, Devuan, DracOS, DarkOs, DragonFly, Drauger, Elementary,
|
||||
# EndeavourOS, Endless, EuroLinux, Exherbo, Fedora, Feren, FreeBSD,
|
||||
# FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, Pentoo,
|
||||
# gNewSense, GNOME, GNU, GoboLinux, Grombyang, Guix, Haiku, Huayra,
|
||||
# Hyperbola, janus, Kali, KaOS, KDE_neon, Kibojoe, Kogaion,
|
||||
# Korora, KSLinux, Kubuntu, LEDE, LFS, Linux_Lite,
|
||||
# LMDE, Lubuntu, Lunar, macos, Mageia, MagpieOS, Mandriva,
|
||||
# Manjaro, Maui, Mer, Minix, LinuxMint, MX_Linux, Namib,
|
||||
# Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nurunner,
|
||||
# NuTyX, OBRevenge, OpenBSD, openEuler, OpenIndiana, openmamba,
|
||||
# OpenMandriva, OpenStage, OpenWrt, osmc, Oracle, OS Elbrus, PacBSD,
|
||||
# Parabola, Pardus, Parrot, Parsix, TrueOS, PCLinuxOS, Peppermint,
|
||||
# popos, Porteus, PostMarketOS, Proxmox, Puppy, PureOS, Qubes, Radix,
|
||||
# Raspbian, Reborn_OS, Redstar, Redcore, Redhat, Refracted_Devuan,
|
||||
# Regata, Rosa, sabotage, Sabayon, Sailfish, SalentOS, Scientific,
|
||||
# Septor, SereneLinux, SharkLinux, Siduction, Slackware, SliTaz,
|
||||
# SmartOS, Solus, Source_Mage, Sparky, Star, SteamOS, SunOS,
|
||||
# openSUSE_Leap, openSUSE_Tumbleweed, openSUSE, SwagArch, Tails,
|
||||
# Trisquel, Ubuntu-Budgie, Ubuntu-GNOME, Ubuntu-MATE, Ubuntu-Studio,
|
||||
# Ubuntu, Venom, Void, Obarun, windows10, Windows7, Xubuntu, Zorin,
|
||||
# and IRIX have ascii logos
|
||||
# NOTE: Arch, Ubuntu, Redhat, and Dragonfly have 'old' logo variants.
|
||||
# Use '{distro name}_old' to use the old logos.
|
||||
# NOTE: Ubuntu has flavor variants.
|
||||
# Change this to Lubuntu, Kubuntu, Xubuntu, Ubuntu-GNOME,
|
||||
# Ubuntu-Studio, Ubuntu-Mate or Ubuntu-Budgie to use the flavors.
|
||||
# NOTE: Arcolinux, Dragonfly, Fedora, Alpine, Arch, Ubuntu,
|
||||
# CRUX, Debian, Gentoo, FreeBSD, Mac, NixOS, OpenBSD, android,
|
||||
# Antrix, CentOS, Cleanjaro, ElementaryOS, GUIX, Hyperbola,
|
||||
# Manjaro, MXLinux, NetBSD, Parabola, POP_OS, PureOS,
|
||||
# Slackware, SunOS, LinuxLite, OpenSUSE, Raspbian,
|
||||
# postmarketOS, and Void have a smaller logo variant.
|
||||
# Use '{distro name}_small' to use the small variants.
|
||||
ascii_distro="auto"
|
||||
|
||||
# Ascii Colors
|
||||
#
|
||||
# Default: 'distro'
|
||||
# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
|
||||
# Flag: --ascii_colors
|
||||
#
|
||||
# Example:
|
||||
# ascii_colors=(distro) - Ascii is colored based on Distro colors.
|
||||
# ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
|
||||
ascii_colors=(distro)
|
||||
|
||||
# Bold ascii logo
|
||||
# Whether or not to bold the ascii logo.
|
||||
#
|
||||
# Default: 'on'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --ascii_bold
|
||||
ascii_bold="on"
|
||||
|
||||
# Image Options
|
||||
|
||||
# Image loop
|
||||
# Setting this to on will make neofetch redraw the image constantly until
|
||||
# Ctrl+C is pressed. This fixes display issues in some terminal emulators.
|
||||
#
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
# Flag: --loop
|
||||
image_loop="off"
|
||||
|
||||
# Thumbnail directory
|
||||
#
|
||||
# Default: '~/.cache/thumbnails/neofetch'
|
||||
# Values: 'dir'
|
||||
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
|
||||
|
||||
# Crop mode
|
||||
#
|
||||
# Default: 'normal'
|
||||
# Values: 'normal', 'fit', 'fill'
|
||||
# Flag: --crop_mode
|
||||
#
|
||||
# See this wiki page to learn about the fit and fill options.
|
||||
# https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
|
||||
crop_mode="normal"
|
||||
|
||||
# Crop offset
|
||||
# Note: Only affects 'normal' crop mode.
|
||||
#
|
||||
# Default: 'center'
|
||||
# Values: 'northwest', 'north', 'northeast', 'west', 'center'
|
||||
# 'east', 'southwest', 'south', 'southeast'
|
||||
# Flag: --crop_offset
|
||||
crop_offset="northwest"
|
||||
|
||||
# Image size
|
||||
# The image is half the terminal width by default.
|
||||
#
|
||||
# Default: 'auto'
|
||||
# Values: 'auto', '00px', '00%', 'none'
|
||||
# Flags: --image_size
|
||||
# --size
|
||||
image_size="270px"
|
||||
|
||||
# Gap between image and text
|
||||
#
|
||||
# Default: '3'
|
||||
# Values: 'num', '-num'
|
||||
# Flag: --gap
|
||||
gap=8
|
||||
|
||||
# Image offsets
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: '0'
|
||||
# Values: 'px'
|
||||
# Flags: --xoffset
|
||||
# --yoffset
|
||||
yoffset=0
|
||||
xoffset=2
|
||||
|
||||
# Image background color
|
||||
# Only works with the w3m backend.
|
||||
#
|
||||
# Default: ''
|
||||
# Values: 'color', 'blue'
|
||||
# Flag: --bg_color
|
||||
background_color=
|
||||
|
||||
# Misc Options
|
||||
|
||||
# Stdout mode
|
||||
# Turn off all colors and disables image backend (ASCII/Image).
|
||||
# Useful for piping into another command.
|
||||
# Default: 'off'
|
||||
# Values: 'on', 'off'
|
||||
stdout="off"
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
home.file.".config/neofetch/config.conf".source = ./neofetch-asahi.conf;
|
||||
}
|
|
@ -1,6 +1,9 @@
|
|||
{ inputs, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.username = "youwen";
|
||||
home.homeDirectory = "/Users/youwen";
|
||||
|
||||
|
@ -37,11 +40,6 @@
|
|||
# it provides the command `nom` works just like `nix`
|
||||
# with more details log output
|
||||
nix-output-monitor
|
||||
|
||||
# dev tools
|
||||
nodePackages_latest.pnpm
|
||||
rustfmt
|
||||
rust-analyzer
|
||||
];
|
||||
|
||||
programs.git.extraConfig.commit.gpgsign = "false";
|
||||
|
@ -79,5 +77,4 @@
|
|||
|
||||
# Let home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
}
|
||||
|
|
|
@ -7,4 +7,3 @@
|
|||
../waybar/desktop
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.username = "youwen";
|
||||
home.homeDirectory = "/home/youwen";
|
||||
|
||||
|
|
|
@ -1,14 +1,36 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp
|
||||
swappy
|
||||
pavucontrol
|
||||
waypaper
|
||||
swaybg
|
||||
pamixer
|
||||
brightnessctl
|
||||
|
||||
bibata-cursors
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
libsForQt5.qt5ct
|
||||
papirus-icon-theme
|
||||
libsForQt5.qt5ct
|
||||
];
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
settings = {
|
||||
exec-once = [ "waypaper --restore" ];
|
||||
exec-once = ["waypaper --restore"];
|
||||
"$mod" = "SUPER";
|
||||
"$Left" = "Y";
|
||||
"$Right" = "O";
|
||||
"$Up" = "I";
|
||||
"$Down" = "U";
|
||||
"$Left" = "H";
|
||||
"$Right" = "L";
|
||||
"$Up" = "K";
|
||||
"$Down" = "J";
|
||||
env = [
|
||||
"HYPRCURSOR_THEME,Bibata-Modern-Ice"
|
||||
"HYPRCURSOR_SIZE,26"
|
||||
|
@ -21,11 +43,12 @@
|
|||
"$mod, T, exec, kitty"
|
||||
"$mod, E, exec, dolphin"
|
||||
"$mod, R, exec, pavucontrol"
|
||||
"$mod, M, exec, thunderbird"
|
||||
|
||||
# Window actions
|
||||
"$mod, Q, killactive"
|
||||
"$mod, W, togglefloating"
|
||||
"$mod, J, togglesplit"
|
||||
"$mod, V, togglesplit"
|
||||
"$mod, Return, fullscreen"
|
||||
|
||||
# Move around
|
||||
|
@ -45,36 +68,49 @@
|
|||
"$mod, 9, workspace, 9"
|
||||
"$mod, 0, workspace, 10"
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
"$mod+Shift, 1, movetoworkspace, 1"
|
||||
"$mod+Shift, 2, movetoworkspace, 2"
|
||||
"$mod+Shift, 3, movetoworkspace, 3"
|
||||
"$mod+Shift, 4, movetoworkspace, 4"
|
||||
"$mod+Shift, 5, movetoworkspace, 5"
|
||||
"$mod+Shift, 6, movetoworkspace, 6"
|
||||
"$mod+Shift, 7, movetoworkspace, 7"
|
||||
"$mod+Shift, 8, movetoworkspace, 8"
|
||||
"$mod+Shift, 9, movetoworkspace, 9"
|
||||
"$mod+Shift, 0, movetoworkspace, 10"
|
||||
|
||||
# move to the first empty workspace instantly
|
||||
"$mod+Ctrl, $Down, workspace, empty"
|
||||
"$mod+Ctrl, $Up, movetoworkspace, empty"
|
||||
|
||||
# Special workspace
|
||||
"$mod, S, togglespecialworkspace"
|
||||
"$mod+Alt, S, movetoworkspacesilent, special"
|
||||
|
||||
# Move windows around
|
||||
"$mod+Shift+Ctrl, $Left, movewindow, l"
|
||||
"$mod+Shift+Ctrl, $Right, movewindow, r"
|
||||
"$mod+Shift+Ctrl, $Up, movewindow, u"
|
||||
"$mod+Shift+Ctrl, $Down, movewindow, d"
|
||||
"$mod+Shift, $Left, movewindow, l"
|
||||
"$mod+Shift, $Right, movewindow, r"
|
||||
"$mod+Shift, $Up, movewindow, u"
|
||||
"$mod+Shift, $Down, movewindow, d"
|
||||
|
||||
"$mod+Ctrl+Alt, $Right, movetoworkspace, r+1"
|
||||
"$mod+Ctrl+Alt, $Left, movetoworkspace, r-1"
|
||||
"$mod+Ctrl+Shift, $Right, movetoworkspace, r+1"
|
||||
"$mod+Ctrl+Shift, $Left, movetoworkspace, r-1"
|
||||
|
||||
"$mod+Ctrl, $Right, workspace, r+1"
|
||||
"$mod+Ctrl, $Left, workspace, r-1"
|
||||
|
||||
"$mod+Alt, S, movetoworkspacesilent, special"
|
||||
|
||||
# Utilities
|
||||
"$mod, Space, exec, pkill -x rofi || rofi -show drun" # Run rofi
|
||||
"$mod, Space, exec, pkill -x rofi || rofi -show drun" # Run rofi application launcher
|
||||
"$mod, G, exec, pkill -x rofi || rofi -show window" # Run rofi window switcher
|
||||
|
||||
''$mod, P, exec, grim -g "$(slurp)" - | swappy -f -'' # Screenshot
|
||||
|
||||
"$mod, Backspace, exec, wlogout" # show logout menu
|
||||
|
||||
"$mod, L, exec, hyprlock"
|
||||
"$mod, I, exec, hyprlock"
|
||||
|
||||
# System control
|
||||
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||
",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||
",XF86AudioRaiseVolume, exec, pamixer -i 5"
|
||||
",XF86AudioLowerVolume, exec, pamixer -d 5"
|
||||
",XF86AudioMute, exec, pamixer -t"
|
||||
];
|
||||
bindm = [
|
||||
|
@ -83,6 +119,19 @@
|
|||
"$mod, Z, movewindow"
|
||||
"$mod, X, resizewindow"
|
||||
];
|
||||
bindel = [
|
||||
",XF86MonBrightnessDown, exec, brightnessctl set 5%-"
|
||||
",XF86MonBrightnessUp, exec, brightnessctl set 5%+"
|
||||
",XF86AudioRaiseVolume, exec, pamixer -i 5"
|
||||
",XF86AudioLowerVolume, exec, pamixer -d 5"
|
||||
];
|
||||
binde = [
|
||||
# Resize windows
|
||||
"$mod+Alt, $Right, resizeactive, 30 0"
|
||||
"$mod+Alt, $Left, resizeactive, -30 0"
|
||||
"$mod+Alt, $Up, resizeactive, 0 -30"
|
||||
"$mod+Alt, $Down, resizeactive, 0 30"
|
||||
];
|
||||
windowrulev2 = [
|
||||
"opacity 0.90 0.90,class:^(librewolf)$"
|
||||
"opacity 0.90 0.90,class:^(Brave-browser)$"
|
||||
|
@ -103,6 +152,9 @@
|
|||
"opacity 0.80 0.80,class:^(qt5ct)$"
|
||||
"opacity 0.80 0.80,class:^(qt6ct)$"
|
||||
"opacity 0.80 0.80,class:^(kvantummanager)$"
|
||||
"opacity 0.80 0.80,class:^(waypaper)$"
|
||||
"opacity 0.80 0.80,class:^(org.pulseaudio.pavucontrol)$"
|
||||
"opacity 0.80 0.80,class:^(thunderbird)$"
|
||||
|
||||
"opacity 0.90 0.90,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk"
|
||||
"opacity 0.80 0.80,class:^(com.github.tchx84.Flatseal)$ # Flatseal-Gtk"
|
||||
|
@ -137,6 +189,7 @@
|
|||
"float,class:^(qt6ct)$"
|
||||
"float,class:^(nwg-look)$"
|
||||
"float,class:^(org.kde.ark)$"
|
||||
"float,class:^(org.pulseaudio.pavucontrol)$"
|
||||
"float,class:^(com.github.rafostar.Clapper)$ # Clapper-Gtk"
|
||||
"float,class:^(app.drey.Warp)$ # Warp-Gtk"
|
||||
"float,class:^(net.davidotek.pupgui2)$ # ProtonUp-Qt"
|
||||
|
@ -164,8 +217,6 @@
|
|||
"ignorezero,swaync-control-center"
|
||||
"blur,logout_dialog"
|
||||
];
|
||||
monitor =
|
||||
[ "DP-1,2560x1440@165,1920x0,auto" "HDMI-A-1,1920x1080@60,0x0,1" ];
|
||||
dwindle = {
|
||||
pseudotile = "yes";
|
||||
preserve_split = "yes";
|
||||
|
@ -189,7 +240,7 @@
|
|||
"workspaces, 1, 5, wind"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
general = {
|
||||
gaps_in = "3";
|
||||
gaps_out = "8";
|
||||
|
@ -200,7 +251,6 @@
|
|||
"col.inactive_border" = "rgba(b4befecc) rgba(6c7086cc) 45deg";
|
||||
layout = "dwindle";
|
||||
resize_on_border = "true";
|
||||
sensitivity = "0.5";
|
||||
};
|
||||
|
||||
misc = {
|
||||
|
@ -226,6 +276,9 @@
|
|||
special = true;
|
||||
};
|
||||
};
|
||||
input = {
|
||||
sensitivity = "-0.65";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -284,17 +337,15 @@
|
|||
services.hypridle = {
|
||||
enable = true;
|
||||
settings = {
|
||||
lock_cmd =
|
||||
"pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||
lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
|
||||
before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
|
||||
after_sleep_cmd =
|
||||
"hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
|
||||
};
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
configPackages = [ pkgs.xdg-desktop-portal-hyprland ];
|
||||
extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
|
||||
configPackages = [pkgs.xdg-desktop-portal-hyprland];
|
||||
extraPortals = [pkgs.xdg-desktop-portal-hyprland];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{ imports = [ ../common.nix ]; }
|
||||
{imports = [../common.nix];}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ lib, ... }: {
|
||||
imports = [ ../common.nix ];
|
||||
{lib, ...}: {
|
||||
imports = [../common.nix];
|
||||
wayland.windowManager.hyprland.settings.input.touchpad = {
|
||||
natural_scroll = true;
|
||||
disable_while_typing = true;
|
||||
|
@ -7,7 +7,7 @@
|
|||
tap-to-click = false;
|
||||
scroll_factor = 0.5;
|
||||
};
|
||||
wayland.windowManager.hyprland.settings.general.sensitivity = lib.mkForce 1.0;
|
||||
wayland.windowManager.hyprland.settings.input.sensitivity = lib.mkForce "0.0";
|
||||
wayland.windowManager.hyprland.settings.env = [
|
||||
"HYPRCURSOR_THEME,Bibata-Modern-Ice"
|
||||
"HYPRCURSOR_SIZE,24"
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
{ pkgs, ... }: {
|
||||
imports =
|
||||
[ ../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop ];
|
||||
{pkgs, ...}: {
|
||||
imports = [../theming ../home.nix ../programs ../hyprland/laptop ../waybar/laptop];
|
||||
|
||||
# some overrides for laptop specifically
|
||||
programs.kitty.settings.font_size = pkgs.lib.mkForce 11;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{ pkgs, ... }:
|
||||
let createCommon = import ../common-packages.nix;
|
||||
in { home.packages = ((createCommon pkgs) ++ [ ]); }
|
||||
{pkgs, ...}: let
|
||||
createCommon = import ../common-packages.nix;
|
||||
in {home.packages = (createCommon pkgs) ++ [];}
|
||||
|
|
|
@ -22,15 +22,7 @@ with pkgs; [
|
|||
usbutils # lsusb
|
||||
|
||||
# desktop utils
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp
|
||||
swappy
|
||||
pavucontrol
|
||||
waypaper
|
||||
swaybg
|
||||
pamixer
|
||||
brightnessctl
|
||||
bitwarden-cli
|
||||
|
||||
# desktop apps
|
||||
dolphin
|
||||
|
@ -38,26 +30,5 @@ with pkgs; [
|
|||
vesktop
|
||||
signal-desktop
|
||||
|
||||
# dev tools
|
||||
nodePackages_latest.pnpm
|
||||
rustfmt
|
||||
rust-analyzer
|
||||
gcc
|
||||
lua51Packages.luarocks
|
||||
lua
|
||||
nodejs_22
|
||||
python3
|
||||
tree-sitter
|
||||
cargo
|
||||
rustc
|
||||
# currently marked broken
|
||||
# haskellPackages.stack
|
||||
# haskellPackages.ghcup
|
||||
|
||||
# desktop ricing
|
||||
bibata-cursors
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
libsForQt5.qt5ct
|
||||
papirus-icon-theme
|
||||
libsForQt5.qt5ct
|
||||
]
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
let createCommon = import ../common-packages.nix;
|
||||
{pkgs, ...}: let
|
||||
createCommon = import ../common-packages.nix;
|
||||
in {
|
||||
home.packages = ((createCommon pkgs) ++ (with pkgs; [
|
||||
spotify
|
||||
bitwarden-desktop
|
||||
modrinth-app
|
||||
lutris
|
||||
wine
|
||||
sbctl
|
||||
r2modman
|
||||
]));
|
||||
home.packages =
|
||||
(createCommon pkgs)
|
||||
++ (with pkgs; [
|
||||
bitwarden-desktop
|
||||
modrinth-app
|
||||
lutris
|
||||
wine
|
||||
sbctl
|
||||
r2modman
|
||||
]);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
{pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
theme = "Tokyo Night";
|
||||
|
@ -12,11 +12,13 @@
|
|||
background_opacity = "0.8";
|
||||
allow_remote_control = "socket-only";
|
||||
listen_on = "unix:/tmp/kitty";
|
||||
action_alias = "kitty_scrollback_nvim kitten /home/youwen/.local/share/nvim/lazy/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py";
|
||||
# action_alias = "kitty_scrollback_nvim kitten /home/youwen/.local/share/nvim/lazy/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py";
|
||||
scrollback_pager = ''nvim --noplugin -c "set signcolumn=no showtabline=0" -c "silent write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - "'';
|
||||
};
|
||||
keybindings = {
|
||||
"kitty_mod+h" = "kitty_scrollback_nvim";
|
||||
"kitty_mod+g" = "kitty_scrollback_nvim --config ksb_builtin_last_cmd_output";
|
||||
# "kitty_mod+h" = "kitty_scrollback_nvim";
|
||||
# "kitty_mod+g" = "kitty_scrollback_nvim --config ksb_builtin_last_cmd_output";
|
||||
"kitty_mod+h" = "show_scrollback";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -29,5 +31,6 @@
|
|||
"privacy.clearOnShutdown.cookies" = false;
|
||||
"network.cookie.lifetimePolicy" = 0;
|
||||
};
|
||||
package = pkgs.librewolf-wayland;
|
||||
};
|
||||
}
|
||||
|
|
24
users/youwen/linux/spicetify/default.nix
Normal file
24
users/youwen/linux/spicetify/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
spicepkgs = inputs.spicetify.legacyPackages.${pkgs.system};
|
||||
in {
|
||||
imports = [
|
||||
inputs.spicetify.homeManagerModules.default
|
||||
];
|
||||
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
theme = spicepkgs.themes.dribbblish;
|
||||
colorScheme = "rosepine";
|
||||
enabledExtensions = with spicepkgs.extensions; [
|
||||
lastfm
|
||||
fullAppDisplayMod
|
||||
];
|
||||
enabledCustomApps = with spicepkgs.apps; [
|
||||
lyricsPlus
|
||||
];
|
||||
};
|
||||
}
|
|
@ -15,4 +15,8 @@
|
|||
enable = true;
|
||||
flavor = "mocha";
|
||||
};
|
||||
programs.yazi.catppuccin = {
|
||||
enable = true;
|
||||
flavor = "macchiato";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
imports = [ ./catppuccin.nix ];
|
||||
{pkgs, ...}: {
|
||||
imports = [./catppuccin.nix];
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
@ -8,7 +8,7 @@
|
|||
name = "Bibata-Modern-Ice";
|
||||
size = 26;
|
||||
};
|
||||
iconTheme = { name = "Papirus-Dark"; };
|
||||
iconTheme = {name = "Papirus-Dark";};
|
||||
};
|
||||
|
||||
qt = {
|
||||
|
@ -23,8 +23,6 @@
|
|||
theme=GraphiteNordDark
|
||||
'';
|
||||
|
||||
"Kvantum/GraphiteNord".source =
|
||||
"${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
|
||||
"Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -9,21 +9,21 @@
|
|||
width = 1600;
|
||||
reload-style-on-change = true;
|
||||
margin = "10px 0px 0px 0px";
|
||||
modules-left = [ "hyprland/window" "hyprland/workspaces" ];
|
||||
modules-right = [ "backlight" "group/adjustable" "custom/weather" ];
|
||||
modules-center = [ "network" "group/hardware" "clock" ];
|
||||
modules-left = ["hyprland/window" "hyprland/workspaces"];
|
||||
modules-right = ["backlight" "group/adjustable" "custom/weather"];
|
||||
modules-center = ["network" "group/hardware" "clock"];
|
||||
"hyprland/workspaces" = {
|
||||
active-only = false;
|
||||
all-outputs = false;
|
||||
format = "{icon}";
|
||||
persistent-workspaces = {
|
||||
eDP-1 = [ 1 ];
|
||||
DP-1 = [ 2 3 4 5 ];
|
||||
eDP-1 = [1];
|
||||
DP-1 = [2 3 4 5];
|
||||
};
|
||||
};
|
||||
"group/hardware" = {
|
||||
orientation = "inherit";
|
||||
modules = [ "cpu" "memory" "battery" ];
|
||||
modules = ["cpu" "memory" "battery"];
|
||||
};
|
||||
"group/adjustable" = {
|
||||
orientation = "inherit";
|
||||
|
@ -31,7 +31,7 @@
|
|||
transition-duration = 500;
|
||||
transition-left-to-right = true;
|
||||
};
|
||||
modules = [ "pulseaudio" "mpris" ];
|
||||
modules = ["pulseaudio" "mpris"];
|
||||
};
|
||||
"custom/weather" = {
|
||||
orientation = "horizontal";
|
||||
|
@ -51,12 +51,12 @@
|
|||
# format-paused = " {title} ";
|
||||
# format-stopped = "Nothing Playing";
|
||||
# };
|
||||
tray = { spacing = 10; };
|
||||
clock = { format = "{:%a %b %d, %I:%M %p} "; };
|
||||
tray = {spacing = 10;};
|
||||
clock = {format = "{:%a %b %d, %I:%M %p} ";};
|
||||
backlight = {
|
||||
device = "intel_backlight";
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = [ "" "" ];
|
||||
format-icons = ["" ""];
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
|
@ -65,9 +65,9 @@
|
|||
critical = 10;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
format-icons = ["" "" "" "" ""];
|
||||
};
|
||||
"hyprland/window" = { format = "{class}"; };
|
||||
"hyprland/window" = {format = "{class}";};
|
||||
network = {
|
||||
format-wifi = "{essid} ";
|
||||
format-linked = "{ifname} (No IP) ";
|
||||
|
@ -81,7 +81,7 @@
|
|||
format-muted = " {format_source}";
|
||||
format-source = "{volume}% ";
|
||||
format-source-muted = "";
|
||||
format-icons = { default = [ "" "" "" ]; };
|
||||
format-icons = {default = ["" "" ""];};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -9,23 +9,21 @@
|
|||
# width = 1000;
|
||||
reload-style-on-change = true;
|
||||
margin = "5px 0px 0px 0px";
|
||||
modules-left =
|
||||
[ "hyprland/window" "hyprland/workspaces" "network" "clock" ];
|
||||
modules-right =
|
||||
[ "group/hardware" "backlight" "group/adjustable" "custom/weather" ];
|
||||
modules-left = ["hyprland/window" "hyprland/workspaces" "network" "clock"];
|
||||
modules-right = ["group/hardware" "backlight" "group/adjustable" "custom/weather"];
|
||||
# modules-center = [ "network" "group/hardware" "clock" ];
|
||||
"hyprland/workspaces" = {
|
||||
active-only = false;
|
||||
all-outputs = false;
|
||||
format = "{icon}";
|
||||
persistent-workspaces = {
|
||||
eDP-1 = [ 1 ];
|
||||
DP-1 = [ 2 3 4 5 ];
|
||||
eDP-1 = [1];
|
||||
DP-1 = [2 3 4 5];
|
||||
};
|
||||
};
|
||||
"group/hardware" = {
|
||||
orientation = "inherit";
|
||||
modules = [ "cpu" "battery" ];
|
||||
modules = ["cpu" "battery"];
|
||||
};
|
||||
"group/adjustable" = {
|
||||
orientation = "inherit";
|
||||
|
@ -33,7 +31,7 @@
|
|||
transition-duration = 500;
|
||||
transition-left-to-right = true;
|
||||
};
|
||||
modules = [ "pulseaudio" "mpris" ];
|
||||
modules = ["pulseaudio" "mpris"];
|
||||
};
|
||||
"custom/weather" = {
|
||||
orientation = "horizontal";
|
||||
|
@ -53,12 +51,12 @@
|
|||
# format-paused = " {title} ";
|
||||
# format-stopped = "Nothing Playing";
|
||||
# };
|
||||
tray = { spacing = 10; };
|
||||
clock = { format = "{:%a %b %d, %I:%M %p} "; };
|
||||
tray = {spacing = 10;};
|
||||
clock = {format = "{:%a %b %d, %I:%M %p} ";};
|
||||
backlight = {
|
||||
device = "intel_backlight";
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = [ "" "" ];
|
||||
format-icons = ["" ""];
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
|
@ -67,9 +65,9 @@
|
|||
critical = 10;
|
||||
};
|
||||
format = "{capacity}% {icon}";
|
||||
format-icons = [ "" "" "" "" "" ];
|
||||
format-icons = ["" "" "" "" ""];
|
||||
};
|
||||
"hyprland/window" = { format = "{class}"; };
|
||||
"hyprland/window" = {format = "{class}";};
|
||||
network = {
|
||||
format-wifi = "{essid} ";
|
||||
format-linked = "{ifname} (No IP) ";
|
||||
|
@ -83,7 +81,7 @@
|
|||
format-muted = " {format_source}";
|
||||
format-source = "{volume}% ";
|
||||
format-source-muted = "";
|
||||
format-icons = { default = [ "" "" "" ]; };
|
||||
format-icons = {default = ["" "" ""];};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue