Compare commits
36 Commits
2be712393f
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 51ad90dc9c | |||
| 248b2f1dbb | |||
| c258681d10 | |||
| 5314aba270 | |||
| 0f00938787 | |||
| 6cbbd0110d | |||
| 01cc53fff1 | |||
| 7501159100 | |||
| 727462ffd3 | |||
| 7446d8c239 | |||
| 085e02f539 | |||
| 9d9ed0f04b | |||
| 28daa28c6b | |||
| b8a7ead4be | |||
| 2881d84c16 | |||
| 591e42fe61 | |||
| f21640749a | |||
| 0b9623241a | |||
| 7a6e3916f5 | |||
| 43c657523e | |||
| 594accfe8d | |||
| 86c5e8ad5b | |||
| f7fe35b3be | |||
| 629e7b6a9e | |||
| 29c62adbd1 | |||
| 5747e449b2 | |||
| 087ffd4194 | |||
| 7a2382cb3c | |||
| be74b351e8 | |||
| 8d3fd7dbe2 | |||
| d80266e89a | |||
| 3f14984072 | |||
| ef49539fed | |||
| d951277cec | |||
| 196db56791 | |||
| 900b565405 |
24
README.md
24
README.md
@@ -191,22 +191,38 @@ git add .
|
|||||||
- `waybarChoice` - system top bar style.
|
- `waybarChoice` - system top bar style.
|
||||||
- `animChoice` - system animation style.
|
- `animChoice` - system animation style.
|
||||||
|
|
||||||
### 5. Copy the ready `hardware-configuration.nix` to host folder:
|
### 5. Review module activation options
|
||||||
|
|
||||||
|
Also check my new project - [GarandOS TUI](https://gitea.garandplg.com/GarandPLG/garandos-tui)! It's an automated way of tweaking this settings. You can use it later *(simply type `tui` into the terminal)*, after the setup, or use it right now by cloning the repo.
|
||||||
|
|
||||||
|
Open the module files for your host and adjust the `enable` options for the services you need:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Home‑modules (enable/disable home-scoped applications)
|
||||||
|
nano hosts/<your-system-hostname>/home-modules.nix
|
||||||
|
|
||||||
|
# System‑modules (enable/disable system‑wide services)
|
||||||
|
nano hosts/<your-system-hostname>/system-modules.nix
|
||||||
|
```
|
||||||
|
|
||||||
|
Set the options to `true` for the components you want active and `false` for those you don’t need.
|
||||||
|
|
||||||
|
### 6. Copy the ready `hardware-configuration.nix` to host folder:
|
||||||
```bash
|
```bash
|
||||||
sudo cp /etc/nixos/hardware-configuration.nix hosts/<your-system-hostname>/hardware.nix
|
sudo cp /etc/nixos/hardware-configuration.nix hosts/<your-system-hostname>/hardware.nix
|
||||||
```
|
```
|
||||||
|
|
||||||
### 6. Enable `Flake` functionality in your system.
|
### 7. Enable `Flake` functionality in your system.
|
||||||
```bash
|
```bash
|
||||||
NIX_CONFIG="experimental-features = nix-command flakes"
|
NIX_CONFIG="experimental-features = nix-command flakes"
|
||||||
```
|
```
|
||||||
|
|
||||||
### 7. Build system (provide your hostname)
|
### 8. Build system (provide your hostname)
|
||||||
```bash
|
```bash
|
||||||
sudo nixos-rebuild switch --flake .#your-system-hostname
|
sudo nixos-rebuild switch --flake .#your-system-hostname
|
||||||
```
|
```
|
||||||
|
|
||||||
### 8. After system rebuild you can use the following aliases instead of repeating the previous command
|
### 9. After system rebuild you can use the following aliases instead of repeating the previous command
|
||||||
|
|
||||||
- `pullos` - pull latest commits from my repository.
|
- `pullos` - pull latest commits from my repository.
|
||||||
- `upd` - rebuild system.
|
- `upd` - rebuild system.
|
||||||
|
|||||||
261
flake.lock
generated
261
flake.lock
generated
@@ -15,11 +15,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763676235,
|
"lastModified": 1767916874,
|
||||||
"narHash": "sha256-6Bri1agFBZdwrO3l32m1aUO6jHfbeBW+8eFVSlBkUAM=",
|
"narHash": "sha256-IcvLwoF1CIOd7yELc0Xwqskilw2FxHHRm5ZnmNdBuKc=",
|
||||||
"owner": "mrshmllow",
|
"owner": "mrshmllow",
|
||||||
"repo": "affinity-nix",
|
"repo": "affinity-nix",
|
||||||
"rev": "f4ed11bdb68bc14a11a1c1a545ef1891a02cb1a1",
|
"rev": "0c110a15fb5605490f7de451073db1c775745fee",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -35,11 +35,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763546214,
|
"lastModified": 1769608722,
|
||||||
"narHash": "sha256-vc9seqvw2ElF8jPetsCoCQ5lo9P3fmgiTle3HlOMezk=",
|
"narHash": "sha256-yWUG0Emd9EuqIZ8jQ6fxqf7USw7Gtcqb4+sBhn+S+Wg=",
|
||||||
"owner": "AdnanHodzic",
|
"owner": "AdnanHodzic",
|
||||||
"repo": "auto-cpufreq",
|
"repo": "auto-cpufreq",
|
||||||
"rev": "76ccb66f8e4875671fd746fb6b50931454ab8cd8",
|
"rev": "a11a98c46bf6a77d0c2e0ea8d87acef78507cae5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -69,28 +69,28 @@
|
|||||||
"base16-fish": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754405784,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752979451,
|
"lastModified": 1760703920,
|
||||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -135,6 +135,28 @@
|
|||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fenix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"garandos-tui",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1762929886,
|
||||||
|
"narHash": "sha256-TQZ3Ugb1FoHpTSc8KLrzN4njIZU4FemAMHyS4M3mt6s=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"rev": "6998514dce2c365142a0a119a95ef95d89b84086",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"firefox-addons": {
|
"firefox-addons": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -143,11 +165,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1763784262,
|
"lastModified": 1769918637,
|
||||||
"narHash": "sha256-bg+MOwWA4GgsHQ2QZQHCixIs0ouPHvN1EVAzMTELPiQ=",
|
"narHash": "sha256-3XyGk89S0UFvKRZiKpFL4ImP5qP/2AOJUaYC7ogXnJo=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "a717a95e58c8dfdb3d07797b97fdedc97697d65c",
|
"rev": "5659e4c18d1350d1b511fcdce885fdd879effa22",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -160,11 +182,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758112371,
|
"lastModified": 1764873433,
|
||||||
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -189,15 +211,15 @@
|
|||||||
"flake-compat_2": {
|
"flake-compat_2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747046372,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -207,11 +229,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762980239,
|
"lastModified": 1767609335,
|
||||||
"narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=",
|
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "52a2caecc898d0b46b2b905f058ccc5081f842da",
|
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -227,11 +249,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1767609335,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -256,6 +278,29 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"garandos-tui": {
|
||||||
|
"inputs": {
|
||||||
|
"fenix": "fenix",
|
||||||
|
"naersk": "naersk",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1765060905,
|
||||||
|
"narHash": "sha256-YLU5g2aSs1Sh+6j301BtQYUdQ8IqLvoeR4Eivr4eVYc=",
|
||||||
|
"ref": "main",
|
||||||
|
"rev": "028b50c9e4d7160cfa8fac8150a54a52680f4ff5",
|
||||||
|
"revCount": 13,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea.garandplg.com/GarandPLG/garandos-tui"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"ref": "main",
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://gitea.garandplg.com/GarandPLG/garandos-tui"
|
||||||
|
}
|
||||||
|
},
|
||||||
"git-hooks": {
|
"git-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
@@ -265,11 +310,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763319842,
|
"lastModified": 1767281941,
|
||||||
"narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=",
|
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761",
|
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -302,11 +347,11 @@
|
|||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"host": "gitlab.gnome.org",
|
"host": "gitlab.gnome.org",
|
||||||
"lastModified": 1762869044,
|
"lastModified": 1767737596,
|
||||||
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
|
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
|
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -324,11 +369,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763845215,
|
"lastModified": 1769952507,
|
||||||
"narHash": "sha256-8W4YByiS3zxwcdDR2sABm1nUCSOEXJwdY/XddRTVjWM=",
|
"narHash": "sha256-eNTfxT3v8b7s1dqswgposi5Y1CUMoOUhQKiy29QY25U=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9a5042a88caea9b729a1d3bc981069159de4fc49",
|
"rev": "b59376563943ce163b2553aeb63d0c170967d74e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -341,11 +386,11 @@
|
|||||||
"libnbtplusplus": {
|
"libnbtplusplus": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1699286814,
|
"lastModified": 1744811532,
|
||||||
"narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=",
|
"narHash": "sha256-qhmjaRkt+O7A+gu6HjUkl7QzOEb4r8y8vWZMG2R/C6o=",
|
||||||
"owner": "PrismLauncher",
|
"owner": "PrismLauncher",
|
||||||
"repo": "libnbtplusplus",
|
"repo": "libnbtplusplus",
|
||||||
"rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad",
|
"rev": "531449ba1c930c98e0bcf5d332b237a8566f9d78",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -354,13 +399,38 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"naersk": {
|
||||||
|
"inputs": {
|
||||||
|
"fenix": [
|
||||||
|
"garandos-tui",
|
||||||
|
"fenix"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"garandos-tui",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1752689277,
|
||||||
|
"narHash": "sha256-uldUBFkZe/E7qbvxa3mH1ItrWZyT6w1dBKJQF/3ZSsc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "naersk",
|
||||||
|
"rev": "0e72363d0938b0208d6c646d10649164c43f4d64",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "naersk",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739444422,
|
"lastModified": 1767983141,
|
||||||
"narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
|
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
|
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -372,11 +442,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763678758,
|
"lastModified": 1769789167,
|
||||||
"narHash": "sha256-+hBiJ+kG5IoffUOdlANKFflTT5nO3FrrR2CA3178Y5s=",
|
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "117cc7f94e8072499b0a7aa4c52084fa4e11cc9b",
|
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -388,11 +458,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761765539,
|
"lastModified": 1765674936,
|
||||||
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
|
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
|
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -428,11 +498,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758998580,
|
"lastModified": 1767810917,
|
||||||
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -444,11 +514,11 @@
|
|||||||
"on-linux": {
|
"on-linux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763514293,
|
"lastModified": 1766544016,
|
||||||
"narHash": "sha256-x766SlDqS6DoOQyW4u1zV3iZbrEKoy4P9K6XDjZ4fGU=",
|
"narHash": "sha256-3X1426N7n6bwM7GAQOvpCq2OVdlQevCzbpak0l9B6BU=",
|
||||||
"owner": "seapear",
|
"owner": "seapear",
|
||||||
"repo": "AffinityOnLinux",
|
"repo": "AffinityOnLinux",
|
||||||
"rev": "2eacfdf625bfafa3099d411f8e2d5afec565fcd6",
|
"rev": "da601564dfefe2ae3ec10e3f177db81578847b7b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -477,11 +547,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747683146,
|
"lastModified": 1768437816,
|
||||||
"narHash": "sha256-zZS//xyNYQHvD4fUMoWx86uVUwPk+p5FjZLTTu0pelQ=",
|
"narHash": "sha256-GG+V2g5NfVrypTs8qbtGnUWTXTMkGtohy/uIDa5duI0=",
|
||||||
"owner": "Diegiwg",
|
"owner": "Diegiwg",
|
||||||
"repo": "PrismLauncher-Cracked",
|
"repo": "PrismLauncher-Cracked",
|
||||||
"rev": "0612187254ef41a1087f3107e927e0dd59c9b29d",
|
"rev": "e8418b74059bdbe4fcc97522b25dc17373b0cc21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -495,11 +565,30 @@
|
|||||||
"affinity-nix": "affinity-nix",
|
"affinity-nix": "affinity-nix",
|
||||||
"auto-cpufreq": "auto-cpufreq",
|
"auto-cpufreq": "auto-cpufreq",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
|
"garandos-tui": "garandos-tui",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"prismlauncher-cracked": "prismlauncher-cracked",
|
"prismlauncher-cracked": "prismlauncher-cracked",
|
||||||
"stylix": "stylix"
|
"stylix": "stylix",
|
||||||
|
"wrappers": "wrappers"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-analyzer-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1762860488,
|
||||||
|
"narHash": "sha256-rMfWMCOo/pPefM2We0iMBLi2kLBAnYoB9thi4qS7uk4=",
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"rev": "2efc80078029894eec0699f62ec8d5c1a56af763",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"ref": "nightly",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stylix": {
|
"stylix": {
|
||||||
@@ -523,11 +612,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763845141,
|
"lastModified": 1769888473,
|
||||||
"narHash": "sha256-o8TKdZluj/yC8qPIVNe2g4qopyFmQglH52+lvQx82kE=",
|
"narHash": "sha256-4KWbaJwaYnZ60bFyTudZYAKskjr7Sa17R3/yh+oXS7w=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "adc650610085adbe130b9860d5bdb869f96050af",
|
"rev": "ae5c0239ae4f82a8c7e33ad8a456535d5a9ba813",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -587,11 +676,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757716333,
|
"lastModified": 1767710407,
|
||||||
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -603,11 +692,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811970,
|
"lastModified": 1767489635,
|
||||||
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -619,11 +708,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811247,
|
"lastModified": 1767488740,
|
||||||
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -639,11 +728,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762938485,
|
"lastModified": 1767801790,
|
||||||
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
|
"narHash": "sha256-QfX6g3Wj2vQe7oBJEbTf0npvC6sJoDbF9hb2+gM5tf8=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
|
"rev": "778a1d691f1ef45dd68c661715c5bf8cbf131c80",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -651,6 +740,26 @@
|
|||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"wrappers": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1769799671,
|
||||||
|
"narHash": "sha256-b1LwqiIjgNLw6/aJlOwIqe1mfqc4PQqeRpKOo5sFWu0=",
|
||||||
|
"owner": "lassulus",
|
||||||
|
"repo": "wrappers",
|
||||||
|
"rev": "8bef93dddd89a0b45486d5cd9f0bdd5ce8aceced",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lassulus",
|
||||||
|
"repo": "wrappers",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
82
flake.nix
82
flake.nix
@@ -49,45 +49,53 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
|
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
|
||||||
|
|
||||||
|
garandos-tui = {
|
||||||
|
url = "git+https://gitea.garandplg.com/GarandPLG/garandos-tui?ref=main";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
wrappers = {
|
||||||
|
url = "github:lassulus/wrappers";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs = {
|
||||||
{
|
nixpkgs,
|
||||||
nixpkgs,
|
nix-flatpak,
|
||||||
nix-flatpak,
|
auto-cpufreq,
|
||||||
auto-cpufreq,
|
garandos-tui,
|
||||||
...
|
...
|
||||||
}@inputs:
|
} @ inputs: let
|
||||||
let
|
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
||||||
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
|
||||||
|
|
||||||
mkHost =
|
mkHost = hostName: let
|
||||||
hostName:
|
inherit
|
||||||
let
|
(import ./hosts/${hostName}/variables.nix)
|
||||||
inherit (import ./hosts/${hostName}/variables.nix)
|
host
|
||||||
host
|
username
|
||||||
username
|
profile
|
||||||
profile
|
system
|
||||||
system
|
;
|
||||||
;
|
|
||||||
in
|
|
||||||
nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs;
|
|
||||||
inherit username;
|
|
||||||
inherit host;
|
|
||||||
inherit profile;
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
./profiles/${profile}
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
auto-cpufreq.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
in
|
||||||
{
|
nixpkgs.lib.nixosSystem {
|
||||||
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost;
|
inherit system;
|
||||||
};
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
inherit username;
|
||||||
|
inherit host;
|
||||||
|
inherit profile;
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
modules = [
|
||||||
|
./profiles/${profile}
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
auto-cpufreq.nixosModules.default
|
||||||
|
garandos-tui.nixosModules.garandos-tui
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./host-packages.nix
|
./host-packages.nix
|
||||||
|
./system-modules.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,7 @@
|
|||||||
lib,
|
lib,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
@@ -22,7 +21,7 @@
|
|||||||
"usb_storage"
|
"usb_storage"
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
];
|
];
|
||||||
kernelModules = [ "dm-snapshot" ];
|
kernelModules = ["dm-snapshot"];
|
||||||
luks.devices = {
|
luks.devices = {
|
||||||
cryptroot = {
|
cryptroot = {
|
||||||
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
|
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
|
||||||
@@ -30,8 +29,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = ["kvm-amd"];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
|
|||||||
66
hosts/Garand-Desktop/home-modules.nix
Normal file
66
hosts/Garand-Desktop/home-modules.nix
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Development editors and IDEs
|
||||||
|
*/
|
||||||
|
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
||||||
|
zed-editor = {
|
||||||
|
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||||
|
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Web browsers
|
||||||
|
*/
|
||||||
|
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||||
|
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||||
|
|
||||||
|
/*
|
||||||
|
System utilities
|
||||||
|
*/
|
||||||
|
btop.enable = true; # Btop: a resource monitor for the terminal
|
||||||
|
cava.enable = false; # Cava: terminal audio visualizer
|
||||||
|
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
||||||
|
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication and synchronization
|
||||||
|
*/
|
||||||
|
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
||||||
|
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
|
||||||
|
vesktop.enable = true; # Vesktop: a community‑driven Discord client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media recording and streaming
|
||||||
|
*/
|
||||||
|
obs-studio.enable = false; # OBS Studio: streaming and recording software
|
||||||
|
|
||||||
|
/*
|
||||||
|
Office suite
|
||||||
|
*/
|
||||||
|
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||||
|
|
||||||
|
/*
|
||||||
|
Learning tools
|
||||||
|
*/
|
||||||
|
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
XDG desktop entries (PWA)
|
||||||
|
*/
|
||||||
|
xdgDesktopEntries = {
|
||||||
|
enable = true; # Enable XDG desktop entries
|
||||||
|
entries = {
|
||||||
|
messenger.enable = true; # Messenger: Facebook Messenger
|
||||||
|
mastodon.enable = true; # Mastodon: a decentralized social network
|
||||||
|
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
|
||||||
|
chatgpt.enable = true; # ChatGPT: a large language model
|
||||||
|
claude.enable = true; # Claude: a large language model
|
||||||
|
glance.enable = true; # Glance: my home server dashboard
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# audacity
|
# audacity
|
||||||
];
|
];
|
||||||
|
|||||||
90
hosts/Garand-Desktop/system-modules.nix
Normal file
90
hosts/Garand-Desktop/system-modules.nix
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
docker.enable = true; # Docker: container runtime and management
|
||||||
|
virtualbox.enable = true; # VirtualBox: PC emulator
|
||||||
|
flatpak = {
|
||||||
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
|
packages = {
|
||||||
|
sober.enable = false; # Roblox client
|
||||||
|
warehouse.enable = true; # Flatpak manager
|
||||||
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Networking
|
||||||
|
*/
|
||||||
|
tailscale.enable = true; # Tailscale: secure network for remote access
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
gamemode.enable = true; # GameMode: optimizes system performance for gaming
|
||||||
|
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
||||||
|
steam.enable = true; # Steam: platform for buying and playing games
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
distrobox.enable = false; # Distrobox: containerized development environments
|
||||||
|
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
|
||||||
|
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
prismlauncher.enable = true; # Prism Launcher: Minecraft modded launcher
|
||||||
|
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
|
||||||
|
ttySolitaire.enable = true; # TTY Solitaire: terminal‑based solitaire game
|
||||||
|
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
|
|
||||||
|
/*
|
||||||
|
Development Tools
|
||||||
|
*/
|
||||||
|
exercism.enable = true; # Exercism: coding practice platform
|
||||||
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
|
opencode.enable = false; # OpenCode: tools for coding and development
|
||||||
|
jan.enable = true; # Jan: AI chat UI
|
||||||
|
logisim-evolution.enable = true; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication & Collaboration
|
||||||
|
*/
|
||||||
|
mattermost.enable = true; # Mattermost: open‑source Slack alternative
|
||||||
|
slack.enable = true; # Slack: team communication and collaboration tool
|
||||||
|
tutanota.enable = true; # Tutanota: secure email client
|
||||||
|
signal.enable = true; # Signal: secure messaging app
|
||||||
|
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||||
|
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
|
iotas.enable = true; # Iotas: lightweight notes manager
|
||||||
|
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media & Graphics
|
||||||
|
*/
|
||||||
|
affinity.enable = false; # Affinity: professional graphics suite
|
||||||
|
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
|
||||||
|
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
||||||
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
|
kdenlive.enable = false; # Kdenlive: video editing software
|
||||||
|
pixieditor.enable = true; # Pixieditor: Universal editor for all your 2D needs
|
||||||
|
plex.enable = true; # Plex: media player and server client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Utilities / Misc
|
||||||
|
*/
|
||||||
|
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
|
||||||
|
galculator.enable = false; # Galculator: simple calculator
|
||||||
|
gedit.enable = true; # Gedit: GNOME text editor
|
||||||
|
winboat.enable = true; # Winboat: Windows remote desktop via RDP
|
||||||
|
adb.enable = false; # ADB: Android SDK platform tools
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./host-packages.nix
|
./host-packages.nix
|
||||||
|
./system-modules.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,9 +6,7 @@
|
|||||||
lib,
|
lib,
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
@@ -21,14 +19,14 @@
|
|||||||
"usb_storage"
|
"usb_storage"
|
||||||
"sd_mod"
|
"sd_mod"
|
||||||
];
|
];
|
||||||
kernelModules = [ "dm-snapshot" ];
|
kernelModules = ["dm-snapshot"];
|
||||||
luks.devices.cryptroot = {
|
luks.devices.cryptroot = {
|
||||||
device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c";
|
device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c";
|
||||||
preLVM = true;
|
preLVM = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = ["kvm-amd"];
|
||||||
extraModulePackages = [ ];
|
extraModulePackages = [];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
@@ -51,7 +49,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{ device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a"; }
|
{device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
66
hosts/Garand-Laptop/home-modules.nix
Normal file
66
hosts/Garand-Laptop/home-modules.nix
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Development editors and IDEs
|
||||||
|
*/
|
||||||
|
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
||||||
|
zed-editor = {
|
||||||
|
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||||
|
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Web browsers
|
||||||
|
*/
|
||||||
|
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||||
|
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||||
|
|
||||||
|
/*
|
||||||
|
System utilities
|
||||||
|
*/
|
||||||
|
btop.enable = true; # Btop: a resource monitor for the terminal
|
||||||
|
cava.enable = false; # Cava: terminal audio visualizer
|
||||||
|
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
||||||
|
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication and synchronization
|
||||||
|
*/
|
||||||
|
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
||||||
|
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
|
||||||
|
vesktop.enable = true; # Vesktop: a community‑driven Discord client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media recording and streaming
|
||||||
|
*/
|
||||||
|
obs-studio.enable = false; # OBS Studio: streaming and recording software
|
||||||
|
|
||||||
|
/*
|
||||||
|
Office suite
|
||||||
|
*/
|
||||||
|
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||||
|
|
||||||
|
/*
|
||||||
|
Learning tools
|
||||||
|
*/
|
||||||
|
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
XDG desktop entries (PWA)
|
||||||
|
*/
|
||||||
|
xdgDesktopEntries = {
|
||||||
|
enable = true; # Enable XDG desktop entries
|
||||||
|
entries = {
|
||||||
|
messenger.enable = true; # Messenger: Facebook Messenger
|
||||||
|
mastodon.enable = true; # Mastodon: a decentralized social network
|
||||||
|
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
|
||||||
|
chatgpt.enable = true; # ChatGPT: a large language model
|
||||||
|
claude.enable = true; # Claude: a large language model
|
||||||
|
glance.enable = true; # Glance: my home server dashboard
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# audacity
|
# audacity
|
||||||
];
|
];
|
||||||
|
|||||||
90
hosts/Garand-Laptop/system-modules.nix
Normal file
90
hosts/Garand-Laptop/system-modules.nix
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
docker.enable = true; # Docker: container runtime and management
|
||||||
|
virtualbox.enable = false; # VirtualBox: PC emulator
|
||||||
|
flatpak = {
|
||||||
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
|
packages = {
|
||||||
|
sober.enable = false; # Roblox client
|
||||||
|
warehouse.enable = true; # Flatpak manager
|
||||||
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Networking
|
||||||
|
*/
|
||||||
|
tailscale.enable = true; # Tailscale: secure network for remote access
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
gamemode.enable = true; # GameMode: optimizes system performance for gaming
|
||||||
|
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
||||||
|
steam.enable = true; # Steam: platform for buying and playing games
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
distrobox.enable = false; # Distrobox: containerized development environments
|
||||||
|
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
|
||||||
|
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
prismlauncher.enable = true; # Prism Launcher: Minecraft modded launcher
|
||||||
|
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
|
||||||
|
ttySolitaire.enable = true; # TTY Solitaire: terminal‑based solitaire game
|
||||||
|
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
|
|
||||||
|
/*
|
||||||
|
Development Tools
|
||||||
|
*/
|
||||||
|
exercism.enable = true; # Exercism: coding practice platform
|
||||||
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
|
opencode.enable = false; # OpenCode: tools for coding and development
|
||||||
|
jan.enable = true; # Jan: AI chat UI
|
||||||
|
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication & Collaboration
|
||||||
|
*/
|
||||||
|
mattermost.enable = true; # Mattermost: open‑source Slack alternative
|
||||||
|
slack.enable = true; # Slack: team communication and collaboration tool
|
||||||
|
tutanota.enable = true; # Tutanota: secure email client
|
||||||
|
signal.enable = true; # Signal: secure messaging app
|
||||||
|
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||||
|
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
|
iotas.enable = true; # Iotas: lightweight notes manager
|
||||||
|
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media & Graphics
|
||||||
|
*/
|
||||||
|
affinity.enable = false; # Affinity: professional graphics suite
|
||||||
|
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
|
||||||
|
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
||||||
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
|
kdenlive.enable = false; # Kdenlive: video editing software
|
||||||
|
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
|
||||||
|
plex.enable = true; # Plex: media player and server client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Utilities / Misc
|
||||||
|
*/
|
||||||
|
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
|
||||||
|
galculator.enable = false; # Galculator: simple calculator
|
||||||
|
gedit.enable = false; # Gedit: GNOME text editor
|
||||||
|
winboat.enable = false; # Winboat: Windows remote desktop via RDP
|
||||||
|
adb.enable = false; # ADB: Android SDK platform tools
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./host-packages.nix
|
./host-packages.nix
|
||||||
|
./system-modules.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,9 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
modulesPath,
|
modulesPath,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
@@ -20,17 +17,16 @@
|
|||||||
"nvme"
|
"nvme"
|
||||||
"usbhid"
|
"usbhid"
|
||||||
];
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d";
|
device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device =
|
boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
|
||||||
"/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/C2A6-DF56";
|
device = "/dev/disk/by-uuid/C2A6-DF56";
|
||||||
|
|||||||
66
hosts/default/home-modules.nix
Normal file
66
hosts/default/home-modules.nix
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Development editors and IDEs
|
||||||
|
*/
|
||||||
|
vscodium.enable = false; # VSCodium: a free and open-source "demicrosofted" VSCode
|
||||||
|
zed-editor = {
|
||||||
|
enable = true; # Zed Editor: a modern, high‑performance code editor
|
||||||
|
remote-server.enable = true; # Remote Server: enable remote editing capabilities
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Web browsers
|
||||||
|
*/
|
||||||
|
librewolf.enable = true; # Librewolf: a privacy-focused Firefox fork
|
||||||
|
ungoogled-chromium.enable = true; # Ungoogled Chromium: a privacy-focused Chromium fork
|
||||||
|
|
||||||
|
/*
|
||||||
|
System utilities
|
||||||
|
*/
|
||||||
|
btop.enable = true; # Btop: a resource monitor for the terminal
|
||||||
|
cava.enable = false; # Cava: terminal audio visualizer
|
||||||
|
fastfetch.enable = true; # Fastfetch: a fast system information tool
|
||||||
|
peaclock.enable = true; # Peaclock: Clock, timer, and stopwatch for the terminal
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication and synchronization
|
||||||
|
*/
|
||||||
|
kdeconnect.enable = false; # KDE Connect: integrate your phone and desktop
|
||||||
|
nextcloud-client.enable = true; # Nextcloud Client: sync files with a Nextcloud server
|
||||||
|
vesktop.enable = true; # Vesktop: a community‑driven Discord client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
lutris.enable = false; # Lutris: an open gaming platform
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media recording and streaming
|
||||||
|
*/
|
||||||
|
obs-studio.enable = false; # OBS Studio: streaming and recording software
|
||||||
|
|
||||||
|
/*
|
||||||
|
Office suite
|
||||||
|
*/
|
||||||
|
onlyoffice.enable = true; # OnlyOffice: an office suite compatible with Microsoft formats
|
||||||
|
|
||||||
|
/*
|
||||||
|
Learning tools
|
||||||
|
*/
|
||||||
|
anki.enable = true; # Anki: spaced‑repetition flashcard program
|
||||||
|
|
||||||
|
/*
|
||||||
|
XDG desktop entries (PWA)
|
||||||
|
*/
|
||||||
|
xdgDesktopEntries = {
|
||||||
|
enable = true; # Enable XDG desktop entries
|
||||||
|
entries = {
|
||||||
|
messenger.enable = true; # Messenger: Facebook Messenger
|
||||||
|
mastodon.enable = true; # Mastodon: a decentralized social network
|
||||||
|
garandcloud.enable = true; # GarandCloud: my Nextcloud instance
|
||||||
|
chatgpt.enable = true; # ChatGPT: a large language model
|
||||||
|
claude.enable = true; # Claude: a large language model
|
||||||
|
glance.enable = true; # Glance: my home server dashboard
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# audacity
|
# audacity
|
||||||
];
|
];
|
||||||
|
|||||||
90
hosts/default/system-modules.nix
Normal file
90
hosts/default/system-modules.nix
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
_: {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
docker.enable = true; # Docker: container runtime and management
|
||||||
|
virtualbox.enable = false; # VirtualBox: PC emulator
|
||||||
|
flatpak = {
|
||||||
|
enable = true; # Flatpak: universal packaging system for Linux
|
||||||
|
packages = {
|
||||||
|
sober.enable = false; # Roblox client
|
||||||
|
warehouse.enable = true; # Flatpak manager
|
||||||
|
flatseal.enable = true; # Flatpak permissions manager
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
Networking
|
||||||
|
*/
|
||||||
|
tailscale.enable = false; # Tailscale: secure network for remote access
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
gamemode.enable = true; # GameMode: optimizes system performance for gaming
|
||||||
|
gamescope.enable = false; # Gamescope: micro‑compositor for games
|
||||||
|
steam.enable = true; # Steam: platform for buying and playing games
|
||||||
|
|
||||||
|
packages = {
|
||||||
|
/*
|
||||||
|
Container & Packaging
|
||||||
|
*/
|
||||||
|
distrobox.enable = false; # Distrobox: containerized development environments
|
||||||
|
lazydocker.enable = false; # Lazydocker: simple TUI for Docker
|
||||||
|
bottles.enable = false; # Bottles: Easy-to-use wineprefix manager
|
||||||
|
|
||||||
|
/*
|
||||||
|
Gaming
|
||||||
|
*/
|
||||||
|
prismlauncher.enable = false; # Prism Launcher: Minecraft modded launcher
|
||||||
|
spaceCadetPinball.enable = true; # SpaceCadet Pinball: classic pinball game
|
||||||
|
ttySolitaire.enable = true; # TTY Solitaire: terminal‑based solitaire game
|
||||||
|
heroic.enable = false; # Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
|
|
||||||
|
/*
|
||||||
|
Development Tools
|
||||||
|
*/
|
||||||
|
exercism.enable = true; # Exercism: coding practice platform
|
||||||
|
lazygit.enable = false; # Lazygit: simple TUI for Git
|
||||||
|
opencode.enable = false; # OpenCode: tools for coding and development
|
||||||
|
jan.enable = true; # Jan: AI chat UI
|
||||||
|
logisim-evolution.enable = false; # Logisim-Evolution: Digital logic designer and simulator
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication & Collaboration
|
||||||
|
*/
|
||||||
|
mattermost.enable = true; # Mattermost: open‑source Slack alternative
|
||||||
|
slack.enable = true; # Slack: team communication and collaboration tool
|
||||||
|
tutanota.enable = true; # Tutanota: secure email client
|
||||||
|
signal.enable = true; # Signal: secure messaging app
|
||||||
|
teams.enable = true; # Teams-for-linux: Unofficial Microsoft Teams client for Linux
|
||||||
|
ferdium.enable = false; # Ferdium: All your services in one place built by the community
|
||||||
|
|
||||||
|
/*
|
||||||
|
Productivity / Knowledge Management
|
||||||
|
*/
|
||||||
|
bitwarden.enable = false; # Bitwarden: password manager (desktop)
|
||||||
|
iotas.enable = true; # Iotas: lightweight notes manager
|
||||||
|
logseq.enable = false; # Logseq: knowledge base and outliner
|
||||||
|
|
||||||
|
/*
|
||||||
|
Media & Graphics
|
||||||
|
*/
|
||||||
|
affinity.enable = false; # Affinity: professional graphics suite
|
||||||
|
eyeOfGnome.enable = true; # Eye of GNOME: image viewer
|
||||||
|
freetube.enable = false; # FreeTube: privacy‑friendly YouTube client
|
||||||
|
gimp.enable = false; # GIMP: GNU Image Manipulation Program
|
||||||
|
kdenlive.enable = false; # Kdenlive: video editing software
|
||||||
|
pixieditor.enable = false; # Pixieditor: Universal editor for all your 2D needs
|
||||||
|
plex.enable = true; # Plex: media player and server client
|
||||||
|
|
||||||
|
/*
|
||||||
|
Utilities / Misc
|
||||||
|
*/
|
||||||
|
eddieAirVPN.enable = true; # Eddie AirVPN: VPN client
|
||||||
|
galculator.enable = false; # Galculator: simple calculator
|
||||||
|
gedit.enable = false; # Gedit: GNOME text editor
|
||||||
|
winboat.enable = false; # Winboat: Windows remote desktop via RDP
|
||||||
|
adb.enable = false; # ADB: Android SDK platform tools
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
programs.auto-cpufreq = {
|
programs.auto-cpufreq = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -3,13 +3,11 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
|
|
||||||
{
|
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
kernelModules = [ "v4l2loopback" ];
|
kernelModules = ["v4l2loopback"];
|
||||||
extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||||
kernel.sysctl = {
|
kernel.sysctl = {
|
||||||
"vm.max_map_count" = 2147483642;
|
"vm.max_map_count" = 2147483642;
|
||||||
};
|
};
|
||||||
@@ -21,7 +19,7 @@
|
|||||||
wallpapers = [
|
wallpapers = [
|
||||||
./../../wallpapers/attack-on-titan-mikasa-ackerman.jpg
|
./../../wallpapers/attack-on-titan-mikasa-ackerman.jpg
|
||||||
];
|
];
|
||||||
wallpaperStyle = lib.mkDefault "centered";
|
wallpaperStyle = lib.mkForce "centered";
|
||||||
backdrop = "${config.stylix.base16Scheme.base00}";
|
backdrop = "${config.stylix.base16Scheme.base00}";
|
||||||
interface = {
|
interface = {
|
||||||
branding = "GarandOS Bootloader";
|
branding = "GarandOS Bootloader";
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
{
|
{inputs, ...}: {
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./packages
|
./packages
|
||||||
./auto-cpufreq.nix
|
./auto-cpufreq.nix
|
||||||
./boot.nix
|
./boot.nix
|
||||||
|
./docker.nix
|
||||||
./flatpak.nix
|
./flatpak.nix
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
|
./garandos-tui.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
./nfs.nix
|
./nfs.nix
|
||||||
@@ -21,9 +19,10 @@
|
|||||||
./stylix.nix
|
./stylix.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
./system.nix
|
./system.nix
|
||||||
|
./tailscale.nix
|
||||||
./thunar.nix
|
./thunar.nix
|
||||||
./user.nix
|
./user.nix
|
||||||
./virtualisation.nix
|
./virtualbox.nix
|
||||||
./xdg.nix
|
./xdg.nix
|
||||||
./xserver.nix
|
./xserver.nix
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
|
|||||||
14
modules/core/docker.nix
Normal file
14
modules/core/docker.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.docker.enable = lib.mkEnableOption "Docker";
|
||||||
|
|
||||||
|
config.virtualisation.docker = lib.mkIf config.docker.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.docker;
|
||||||
|
daemon.settings.dns = ["9.9.9.11" "149.112.112.11"];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,13 +1,28 @@
|
|||||||
_: {
|
{
|
||||||
services = {
|
lib,
|
||||||
flatpak = {
|
config,
|
||||||
enable = true;
|
...
|
||||||
packages = [
|
}: let
|
||||||
# "org.vinegarhq.Sober"
|
mkFlatpakPackage = name: pkgId: {
|
||||||
"io.github.flattool.Warehouse"
|
options.flatpak.packages.${name}.enable = lib.mkEnableOption "Flatpak: ${name}";
|
||||||
"com.github.tchx84.Flatseal"
|
|
||||||
];
|
config.services.flatpak.packages =
|
||||||
update.onActivation = true;
|
lib.mkIf config.flatpak.packages.${name}.enable [pkgId];
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
flatpakPackages = {
|
||||||
|
sober = "org.vinegarhq.Sober";
|
||||||
|
warehouse = "io.github.flattool.Warehouse";
|
||||||
|
flatseal = "com.github.tchx84.Flatseal";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
options.flatpak.enable = lib.mkEnableOption "Flatpak";
|
||||||
|
|
||||||
|
config.services.flatpak = lib.mkIf config.flatpak.enable {
|
||||||
|
enable = true;
|
||||||
|
update.onActivation = true;
|
||||||
|
packages = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = builtins.attrValues (builtins.mapAttrs mkFlatpakPackage flatpakPackages);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
dejavu_fonts
|
dejavu_fonts
|
||||||
|
|||||||
11
modules/core/garandos-tui.nix
Normal file
11
modules/core/garandos-tui.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
host,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.garandos-tui = {
|
||||||
|
enable = true;
|
||||||
|
systemModulesFilePath = "/home/${username}/garandos/hosts/${host}/system-modules.nix";
|
||||||
|
homeModulesFilePath = "/home/${username}/garandos/hosts/${host}/home-modules.nix";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -2,8 +2,7 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
services.greetd = {
|
services.greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#vt = 3;
|
#vt = 3;
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
hardware = {
|
hardware = {
|
||||||
sane = {
|
sane = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = [ pkgs.sane-airscan ];
|
extraBackends = [pkgs.sane-airscan];
|
||||||
disabledDefaultBackends = [ "escl" ];
|
disabledDefaultBackends = ["escl"];
|
||||||
};
|
};
|
||||||
logitech.wireless = {
|
logitech.wireless = {
|
||||||
enable = false;
|
enable = false;
|
||||||
|
|||||||
@@ -2,11 +2,9 @@
|
|||||||
host,
|
host,
|
||||||
options,
|
options,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Defensive assertion for hostname validity (clearer message at eval time)
|
# Defensive assertion for hostname validity (clearer message at eval time)
|
||||||
assertions = [
|
assertions = [
|
||||||
{
|
{
|
||||||
@@ -19,7 +17,7 @@ in
|
|||||||
hostName = "${host}";
|
hostName = "${host}";
|
||||||
hostId = hostId;
|
hostId = hostId;
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
timeServers = options.networking.timeServers.default ++ [ "pool.ntp.org" ];
|
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [
|
allowedTCPPorts = [
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
rpcbind.enable = enableNFS;
|
rpcbind.enable = enableNFS;
|
||||||
nfs.server.enable = enableNFS;
|
nfs.server.enable = enableNFS;
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
{username, ...}: {
|
||||||
username,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
clean = {
|
clean = {
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Communication
|
|
||||||
slack
|
|
||||||
mattermost-desktop
|
|
||||||
# Productivity & Office
|
|
||||||
# bitwarden-desktop
|
|
||||||
tutanota-desktop
|
|
||||||
iotas
|
|
||||||
# logseq
|
|
||||||
# Utilities
|
|
||||||
galculator
|
|
||||||
gedit
|
|
||||||
eddie
|
|
||||||
gnome-text-editor
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,14 +1,8 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
imports = [
|
imports = [
|
||||||
|
./essentials.nix
|
||||||
|
./packages.nix
|
||||||
./programs.nix
|
./programs.nix
|
||||||
./clients.nix
|
|
||||||
./development.nix
|
|
||||||
./gaming.nix
|
|
||||||
./multimedia.nix
|
|
||||||
./terminal.nix
|
|
||||||
./tools.nix
|
|
||||||
./virtualization.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Learning & practice
|
|
||||||
exercism
|
|
||||||
# AI coding
|
|
||||||
opencode
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,18 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
mpv
|
||||||
|
pavucontrol
|
||||||
|
playerctl
|
||||||
|
cmatrix
|
||||||
|
cowsay
|
||||||
|
sl
|
||||||
|
fortune
|
||||||
# File management
|
# File management
|
||||||
trash-cli
|
trash-cli
|
||||||
file-roller
|
file-roller
|
||||||
unrar
|
unrar
|
||||||
unzip
|
unzip
|
||||||
|
p7zip
|
||||||
# System monitoring & info
|
# System monitoring & info
|
||||||
inxi
|
inxi
|
||||||
lm_sensors
|
lm_sensors
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
# inputs,
|
|
||||||
# system,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# inputs.prismlauncher-cracked.packages.${system}.default
|
|
||||||
space-cadet-pinball
|
|
||||||
tty-solitaire
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
# inputs,
|
|
||||||
# system,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# Video & image processing
|
|
||||||
ffmpeg
|
|
||||||
ffmpegthumbnailer
|
|
||||||
mpv
|
|
||||||
# gimp3
|
|
||||||
# inputs.affinity-nix.packages.${system}.v3
|
|
||||||
eog
|
|
||||||
# kdePackages.kdenlive
|
|
||||||
# Audio
|
|
||||||
rhythmbox
|
|
||||||
plexamp
|
|
||||||
picard
|
|
||||||
pavucontrol
|
|
||||||
playerctl
|
|
||||||
# Media downloaders & clients
|
|
||||||
# freetube
|
|
||||||
# ytmdl
|
|
||||||
];
|
|
||||||
}
|
|
||||||
56
modules/core/packages/packages.nix
Normal file
56
modules/core/packages/packages.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
mkPackage = name: pkgsOrList: {
|
||||||
|
options.packages.${name}.enable = lib.mkEnableOption name;
|
||||||
|
config.environment.systemPackages =
|
||||||
|
lib.mkIf config.packages.${name}.enable
|
||||||
|
(lib.toList pkgsOrList);
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = with pkgs; {
|
||||||
|
bitwarden = bitwarden-desktop;
|
||||||
|
eddieAirVPN = eddie;
|
||||||
|
galculator = galculator;
|
||||||
|
gedit = gedit;
|
||||||
|
iotas = iotas;
|
||||||
|
logseq = logseq;
|
||||||
|
mattermost = mattermost-desktop;
|
||||||
|
slack = slack;
|
||||||
|
tutanota = tutanota-desktop;
|
||||||
|
exercism = exercism;
|
||||||
|
opencode = opencode;
|
||||||
|
jan = jan;
|
||||||
|
lazygit = lazygit;
|
||||||
|
prismlauncher = inputs.prismlauncher-cracked.packages.${system}.default;
|
||||||
|
spaceCadetPinball = space-cadet-pinball;
|
||||||
|
ttySolitaire = tty-solitaire;
|
||||||
|
gimp = gimp;
|
||||||
|
affinity = inputs.affinity-nix.packages.${system}.v3;
|
||||||
|
eyeOfGnome = eog;
|
||||||
|
kdenlive = kdePackages.kdenlive;
|
||||||
|
plex = [
|
||||||
|
(plex-desktop.override {extraEnv = {QT_QPA_PLATFORM = "xcb";};})
|
||||||
|
plexamp
|
||||||
|
];
|
||||||
|
freetube = freetube;
|
||||||
|
lazydocker = lazydocker;
|
||||||
|
distrobox = [distrobox pkgs.boxbuddy];
|
||||||
|
winboat = [winboat freerdp];
|
||||||
|
signal = signal-desktop;
|
||||||
|
pixieditor = pixieditor;
|
||||||
|
bottles = bottles;
|
||||||
|
heroic = heroic;
|
||||||
|
adb = android-tools;
|
||||||
|
teams = teams-for-linux;
|
||||||
|
ferdium = ferdium;
|
||||||
|
logisim-evolution = logisim-evolution;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
imports = builtins.attrValues (builtins.mapAttrs mkPackage packages);
|
||||||
|
}
|
||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
_: {
|
||||||
# pkgs
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
programs = {
|
programs = {
|
||||||
nano.enable = true;
|
nano.enable = true;
|
||||||
hyprland = {
|
hyprland = {
|
||||||
@@ -13,7 +9,6 @@
|
|||||||
seahorse.enable = true;
|
seahorse.enable = true;
|
||||||
fuse.userAllowOther = true;
|
fuse.userAllowOther = true;
|
||||||
mtr.enable = true;
|
mtr.enable = true;
|
||||||
adb.enable = true;
|
|
||||||
hyprlock.enable = true;
|
hyprlock.enable = true;
|
||||||
gnupg.agent = {
|
gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
cmatrix
|
|
||||||
cowsay
|
|
||||||
sl
|
|
||||||
fortune
|
|
||||||
lolcat
|
|
||||||
eza
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
virt-viewer
|
|
||||||
# lazydocker
|
|
||||||
docker-client
|
|
||||||
# distrobox
|
|
||||||
# boxbuddy
|
|
||||||
# freerdp
|
|
||||||
# winboat
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) printEnable;
|
inherit (import ../../hosts/${host}/variables.nix) printEnable;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
printing = {
|
printing = {
|
||||||
enable = printEnable;
|
enable = printEnable;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ profile, ... }:
|
{profile, ...}: {
|
||||||
{
|
|
||||||
# Services to start
|
# Services to start
|
||||||
services = {
|
services = {
|
||||||
libinput.enable = true; # Input Handling
|
libinput.enable = true; # Input Handling
|
||||||
@@ -12,14 +11,17 @@
|
|||||||
PasswordAuthentication = true; # Users can SSH using kb and password
|
PasswordAuthentication = true; # Users can SSH using kb and password
|
||||||
KbdInteractiveAuthentication = true;
|
KbdInteractiveAuthentication = true;
|
||||||
};
|
};
|
||||||
ports = [ 22 ];
|
ports = [22];
|
||||||
};
|
};
|
||||||
blueman.enable = true; # Bluetooth Support
|
blueman.enable = true; # Bluetooth Support
|
||||||
tumbler.enable = true; # Image/video preview
|
tumbler.enable = true; # Image/video preview
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
smartd = {
|
smartd = {
|
||||||
enable = if profile == "vm" then false else true;
|
enable =
|
||||||
|
if profile == "vm"
|
||||||
|
then false
|
||||||
|
else true;
|
||||||
autodetect = true;
|
autodetect = true;
|
||||||
};
|
};
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
|||||||
@@ -1,21 +1,43 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
programs = {
|
pkgs,
|
||||||
steam = {
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options = {
|
||||||
|
steam.enable = lib.mkEnableOption "Steam";
|
||||||
|
gamescope.enable = lib.mkEnableOption "Gamescope";
|
||||||
|
gamemode.enable = lib.mkEnableOption "Gamemode";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.programs = {
|
||||||
|
steam = lib.mkIf config.steam.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.steam;
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
dedicatedServer.openFirewall = true;
|
dedicatedServer.openFirewall = true;
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession = lib.mkIf config.gamescope.enable {
|
||||||
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
enable = true;
|
||||||
|
args = [
|
||||||
|
"--rt"
|
||||||
|
"--expose-wayland"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
extraCompatPackages = [pkgs.proton-ge-bin];
|
||||||
|
};
|
||||||
|
|
||||||
|
gamescope = lib.mkIf config.gamescope.enable {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = true;
|
||||||
|
args = [
|
||||||
|
"--rt"
|
||||||
|
"--expose-wayland"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
gamemode = lib.mkIf config.gamemode.enable {
|
||||||
|
enable = true;
|
||||||
|
enableRenice = true;
|
||||||
};
|
};
|
||||||
# gamescope = {
|
|
||||||
# enable = true;
|
|
||||||
# capSysNice = true;
|
|
||||||
# args = [
|
|
||||||
# "--rt"
|
|
||||||
# "--expose-wayland"
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
gamemode.enable = true;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,9 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
host,
|
host,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
# Styling Options
|
# Styling Options
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ username, ... }:
|
{username, ...}: {
|
||||||
{
|
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
enable = false;
|
enable = false;
|
||||||
user = "${username}";
|
user = "${username}";
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
{ host, ... }:
|
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
host,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
||||||
|
in {
|
||||||
nix = {
|
nix = {
|
||||||
|
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||||
settings = {
|
settings = {
|
||||||
download-buffer-size = 200000000;
|
download-buffer-size = 200000000;
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
@@ -11,22 +14,24 @@ in
|
|||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
substituters = [ "https://hyprland.cachix.org" ];
|
substituters = ["https://hyprland.cachix.org"];
|
||||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
time.timeZone = "Europe/Warsaw";
|
time.timeZone = "Europe/Warsaw";
|
||||||
i18n.defaultLocale = "pl_PL.UTF-8";
|
i18n = {
|
||||||
i18n.extraLocaleSettings = {
|
defaultLocale = "pl_PL.UTF-8";
|
||||||
LC_ADDRESS = "pl_PL.UTF-8";
|
extraLocaleSettings = {
|
||||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
LC_ADDRESS = "pl_PL.UTF-8";
|
||||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||||
LC_MONETARY = "pl_PL.UTF-8";
|
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||||
LC_NAME = "pl_PL.UTF-8";
|
LC_MONETARY = "pl_PL.UTF-8";
|
||||||
LC_NUMERIC = "pl_PL.UTF-8";
|
LC_NAME = "pl_PL.UTF-8";
|
||||||
LC_PAPER = "pl_PL.UTF-8";
|
LC_NUMERIC = "pl_PL.UTF-8";
|
||||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
LC_PAPER = "pl_PL.UTF-8";
|
||||||
LC_TIME = "pl_PL.UTF-8";
|
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||||
|
LC_TIME = "pl_PL.UTF-8";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
environment.variables = {
|
environment.variables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
|
|||||||
14
modules/core/tailscale.nix
Normal file
14
modules/core/tailscale.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.tailscale.enable = lib.mkEnableOption "Tailscale";
|
||||||
|
|
||||||
|
config.services.tailscale = lib.mkIf config.tailscale.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.tailscale;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,15 +1,9 @@
|
|||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
programs.thunar = {
|
||||||
...
|
enable = true;
|
||||||
}:
|
plugins = with pkgs; [
|
||||||
{
|
thunar-archive-plugin
|
||||||
programs = {
|
thunar-volman
|
||||||
thunar = {
|
];
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,10 @@
|
|||||||
profile,
|
profile,
|
||||||
system,
|
system,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
||||||
in
|
in {
|
||||||
{
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = false;
|
useGlobalPkgs = false;
|
||||||
@@ -26,31 +24,34 @@ in
|
|||||||
;
|
;
|
||||||
};
|
};
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
imports = [ ./../home ];
|
imports = [./../home ../../hosts/${host}/home-modules.nix];
|
||||||
home = {
|
home = {
|
||||||
username = "${username}";
|
username = "${username}";
|
||||||
homeDirectory = "/home/${username}";
|
homeDirectory = "/home/${username}";
|
||||||
stateVersion = "23.11";
|
stateVersion = "25.11";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
users.mutableUsers = true;
|
users = {
|
||||||
users.users.${username} = {
|
mutableUsers = true;
|
||||||
isNormalUser = true;
|
users.${username} = {
|
||||||
description = "${gitUsername}";
|
isNormalUser = true;
|
||||||
extraGroups = [
|
description = "${gitUsername}";
|
||||||
"adbusers"
|
extraGroups = [
|
||||||
"docker" # access to docker as non-root
|
"adbusers"
|
||||||
"libvirtd" # Virt manager/QEMU access
|
"docker" # access to docker as non-root
|
||||||
"lp"
|
"libvirtd" # Virt manager/QEMU access
|
||||||
"networkmanager"
|
"lp"
|
||||||
"scanner"
|
"networkmanager"
|
||||||
"wheel" # subdo access
|
"scanner"
|
||||||
"vboxusers" # Virtual Box
|
"wheel" # sudo access
|
||||||
"gamemode"
|
"vboxusers" # Virtual Box
|
||||||
];
|
"gamemode"
|
||||||
shell = pkgs.bash;
|
];
|
||||||
ignoreShellProgramCheck = true;
|
shell = pkgs.bash;
|
||||||
|
ignoreShellProgramCheck = true;
|
||||||
|
linger = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
nix.settings.allowed-users = [ "${username}" ];
|
nix.settings.allowed-users = ["${username}"];
|
||||||
}
|
}
|
||||||
|
|||||||
17
modules/core/virtualbox.nix
Normal file
17
modules/core/virtualbox.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.virtualbox.enable = lib.mkEnableOption "Enable VirtualBox";
|
||||||
|
|
||||||
|
config.virtualisation.virtualbox.host = lib.mkIf config.virtualbox.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.virtualbox;
|
||||||
|
enableKvm = true;
|
||||||
|
enableHardening = true;
|
||||||
|
enableExtensionPack = false;
|
||||||
|
addNetworkInterface = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
{
|
|
||||||
# Only enable either docker or podman -- Not both
|
|
||||||
virtualisation = {
|
|
||||||
docker.enable = true;
|
|
||||||
podman.enable = false;
|
|
||||||
libvirtd.enable = true;
|
|
||||||
|
|
||||||
virtualbox.host = {
|
|
||||||
enable = false;
|
|
||||||
enableExtensionPack = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.virt-manager.enable = false;
|
|
||||||
}
|
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
@@ -7,6 +6,7 @@
|
|||||||
xdg-desktop-portal-hyprland
|
xdg-desktop-portal-hyprland
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
];
|
];
|
||||||
configPackages = [ pkgs.hyprland ];
|
configPackages = [pkgs.hyprland];
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb = {
|
xkb = {
|
||||||
|
|||||||
@@ -4,18 +4,16 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.drivers.amdgpu;
|
cfg = config.drivers.amdgpu;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.drivers.amdgpu = {
|
options.drivers.amdgpu = {
|
||||||
enable = mkEnableOption "Enable AMD Drivers";
|
enable = mkEnableOption "Enable AMD Drivers";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
systemd.tmpfiles.rules = [ "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" ];
|
systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
services.xserver.videoDrivers = ["amdgpu"];
|
||||||
environment.systemPackages = with pkgs; [ rocmPackages.rocm-smi ];
|
environment.systemPackages = with pkgs; [rocmPackages.rocm-smi];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
{
|
{...}: {
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
./amd-drivers.nix
|
./amd-drivers.nix
|
||||||
./intel-drivers.nix
|
./intel-drivers.nix
|
||||||
|
|||||||
@@ -4,11 +4,9 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.drivers.intel;
|
cfg = config.drivers.intel;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.drivers.intel = {
|
options.drivers.intel = {
|
||||||
enable = mkEnableOption "Enable Intel Graphics Drivers";
|
enable = mkEnableOption "Enable Intel Graphics Drivers";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,14 +4,12 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.local.hardware-clock;
|
cfg = config.local.hardware-clock;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.local.hardware-clock = {
|
options.local.hardware-clock = {
|
||||||
enable = mkEnableOption "Change Hardware Clock To Local Time";
|
enable = mkEnableOption "Change Hardware Clock To Local Time";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable { time.hardwareClockInLocalTime = true; };
|
config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,18 +4,16 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.drivers.nvidia;
|
cfg = config.drivers.nvidia;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.drivers.nvidia = {
|
options.drivers.nvidia = {
|
||||||
enable = mkEnableOption "Enable Nvidia Drivers";
|
enable = mkEnableOption "Enable Nvidia Drivers";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
environment.systemPackages = with pkgs; [ nvidia-docker ];
|
environment.systemPackages = with pkgs; [nvidia-docker];
|
||||||
hardware = {
|
hardware = {
|
||||||
nvidia-container-toolkit.enable = true;
|
nvidia-container-toolkit.enable = true;
|
||||||
nvidia = {
|
nvidia = {
|
||||||
@@ -38,12 +36,11 @@ in
|
|||||||
# accessible via `nvidia-settings`.
|
# accessible via `nvidia-settings`.
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
# Making nvidia docker toolkit work:
|
# Making nvidia docker toolkit work:
|
||||||
#
|
#
|
||||||
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
|
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
|
||||||
@@ -59,3 +56,4 @@ in
|
|||||||
# EOF
|
# EOF
|
||||||
#
|
#
|
||||||
# docker run --device nvidia.com/gpu=all
|
# docker run --device nvidia.com/gpu=all
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,9 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.drivers.nvidia-prime;
|
cfg = config.drivers.nvidia-prime;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.drivers.nvidia-prime = {
|
options.drivers.nvidia-prime = {
|
||||||
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
|
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
|
||||||
intelBusID = mkOption {
|
intelBusID = mkOption {
|
||||||
|
|||||||
@@ -4,11 +4,9 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
with lib; let
|
||||||
let
|
|
||||||
cfg = config.vm.guest-services;
|
cfg = config.vm.guest-services;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
options.vm.guest-services = {
|
options.vm.guest-services = {
|
||||||
enable = mkEnableOption "Enable Virtual Machine Guest Services";
|
enable = mkEnableOption "Enable Virtual Machine Guest Services";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
{ pkgs, username, ... }:
|
|
||||||
{
|
{
|
||||||
programs.anki = {
|
pkgs,
|
||||||
|
username,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.anki.enable = lib.mkEnableOption "Anki";
|
||||||
|
|
||||||
|
config.programs.anki = lib.mkIf config.anki.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.anki;
|
package = pkgs.anki;
|
||||||
language = "pl_PL";
|
language = "pl_PL";
|
||||||
|
|||||||
@@ -1,127 +0,0 @@
|
|||||||
{ host, username, ... }:
|
|
||||||
{
|
|
||||||
programs.bash = {
|
|
||||||
shellAliases = {
|
|
||||||
# GarandOS aliases
|
|
||||||
pullos = "git -C /home/${username}/garandos pull";
|
|
||||||
upd = "nh os switch --hostname ${host}";
|
|
||||||
upg = "nh os switch --hostname ${host} --update";
|
|
||||||
upf = "sudo nix flake update";
|
|
||||||
upd-bt = "nh os boot --hostname ${host}";
|
|
||||||
upd-ts = "nh os test --hostname ${host}";
|
|
||||||
upd-bd = "nh os build --hostname ${host}";
|
|
||||||
ncg = "nh clean all";
|
|
||||||
|
|
||||||
# Development aliases
|
|
||||||
srvenv = "source .venv/bin/activate";
|
|
||||||
"..srvenv" = "source ../.venv/bin/activate";
|
|
||||||
pm = "uv run manage.py";
|
|
||||||
f8 = "uv run flake8 .";
|
|
||||||
bbr = "bun --bun run";
|
|
||||||
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
|
||||||
zed = "MANGOHUD=0 /home/${username}/.local/bin/zed";
|
|
||||||
|
|
||||||
# Development aliases for nix flake
|
|
||||||
nd = "nix develop";
|
|
||||||
nb = "nix build";
|
|
||||||
nr = "nix run";
|
|
||||||
nbr = "nix build && nix run";
|
|
||||||
nbd = "nix build .#develop";
|
|
||||||
nrd = "nix run .#develop";
|
|
||||||
nbrd = "nix build .#develop && nix run .#develop";
|
|
||||||
|
|
||||||
# System aliases
|
|
||||||
# flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
|
||||||
kys = "shutdown now";
|
|
||||||
ookla = "speedtest";
|
|
||||||
hypr-cli = "hyprctl clients";
|
|
||||||
|
|
||||||
# Navigation aliases
|
|
||||||
"~" = "cd ~";
|
|
||||||
".." = "cd ..";
|
|
||||||
"..." = "cd ../..";
|
|
||||||
"...." = "cd ../../..";
|
|
||||||
"....." = "cd ../../../..";
|
|
||||||
|
|
||||||
# Modifies commands
|
|
||||||
cat = "bat";
|
|
||||||
cp = "cp -i";
|
|
||||||
mv = "mv -i";
|
|
||||||
rm = "trash -v";
|
|
||||||
mkdir = "mkdir -p";
|
|
||||||
ps = "ps auxf";
|
|
||||||
ping = "ping -c 10";
|
|
||||||
less = "less -R";
|
|
||||||
cls = "clear";
|
|
||||||
multitail = "multitail --no-repeat -c";
|
|
||||||
freshclam = "sudo freshclam";
|
|
||||||
|
|
||||||
# Alias"s for multiple directory listing commands
|
|
||||||
la = "eza -alh --icons"; # show hidden files
|
|
||||||
ls = "eza -aF --icons --color=always"; # add colors and file type extensions
|
|
||||||
lx = "eza -lh --icons --sort=extension"; # sort by extension
|
|
||||||
lk = "eza -lh --icons --sort=size --reverse"; # sort by size
|
|
||||||
lc = "eza -lh --icons --sort=changed"; # sort by change time
|
|
||||||
lu = "eza -lh --icons --sort=accessed"; # sort by access time
|
|
||||||
lr = "eza -lh --icons --recurse"; # recursive ls
|
|
||||||
lt = "eza -lh --icons --sort=modified"; # sort by date
|
|
||||||
lm = "eza -alh --icons | more"; # pipe through "more"
|
|
||||||
lw = "eza -xh --icons"; # wide listing format
|
|
||||||
ll = "eza -lh --icons"; # long listing format
|
|
||||||
labc = "eza -lah --icons --sort=name"; # alphabetical sort
|
|
||||||
lf = "eza -lh --icons | grep -v '^d'"; # files only (przybliżenie)
|
|
||||||
ldir = "eza -lh --icons --only-dirs"; # directories only
|
|
||||||
lla = "eza -alh --icons"; # List and Hidden Files
|
|
||||||
las = "eza -a --icons"; # Hidden Files
|
|
||||||
lls = "eza -lh --icons"; # List
|
|
||||||
|
|
||||||
# chmod commands
|
|
||||||
mx = "chmod a+x";
|
|
||||||
"000" = "chmod -R 000";
|
|
||||||
"644" = "chmod -R 644";
|
|
||||||
"666" = "chmod -R 666";
|
|
||||||
"755" = "chmod -R 755";
|
|
||||||
"777" = "chmod -R 777";
|
|
||||||
|
|
||||||
# Search command line history
|
|
||||||
h = "history | grep ";
|
|
||||||
|
|
||||||
# Search running processes
|
|
||||||
p = "ps aux | grep ";
|
|
||||||
topcpu = "/bin/ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10";
|
|
||||||
|
|
||||||
# Search files in the current folder
|
|
||||||
f = "find . | grep ";
|
|
||||||
|
|
||||||
# Count all files (recursively) in the current folder
|
|
||||||
countfiles = "for t in files links directories; do echo \`find . -type \${t:0:1} | wc -l\` \$t; done 2> /dev/null";
|
|
||||||
|
|
||||||
# Alias"s to show disk space and space used in a folder
|
|
||||||
diskspace = "du -S | sort -n -r |more";
|
|
||||||
folders = "du -h --max-depth=1";
|
|
||||||
folderssort = "find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn";
|
|
||||||
tree = "tree -CAhF --dirsfirst";
|
|
||||||
treed = "tree -CAFd";
|
|
||||||
mountedinfo = "df -hT";
|
|
||||||
|
|
||||||
# Show all logs in /var/log
|
|
||||||
logs = "sudo find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f";
|
|
||||||
|
|
||||||
# fix kitty ssh connection
|
|
||||||
kssh = "kitty +kitten ssh";
|
|
||||||
|
|
||||||
docker-clean = "docker container prune -f ; docker image prune -f ; docker network prune -f ; docker volume prune -f";
|
|
||||||
|
|
||||||
# Remove a directory and all files
|
|
||||||
rmd = "/bin/rm --recursive --force --verbose ";
|
|
||||||
|
|
||||||
# Fun aliases
|
|
||||||
pasjans = "ttysolitaire -p 10 --no-background-color";
|
|
||||||
fc = "fortune | cowsay";
|
|
||||||
|
|
||||||
# Network aliases
|
|
||||||
kssh-server = "kssh garand_plg@192.168.1.156 -i ~/.ssh/hp-t640-homeserver";
|
|
||||||
ssh-server = "ssh garand_plg@192.168.1.156 -i ~/.ssh/hp-t640-homeserver";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,146 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs.bash = {
|
|
||||||
bashrcExtra = ''
|
|
||||||
# Quick directory creation and navigation
|
|
||||||
mkcd() {
|
|
||||||
mkdir -p "$1" && cd "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Extract various archive formats
|
|
||||||
extract() {
|
|
||||||
for archive in "$@"; do
|
|
||||||
if [ -f "$archive" ]; then
|
|
||||||
case "$archive" in
|
|
||||||
*.tar.bz2) tar xvjf "$archive" ;;
|
|
||||||
*.tar.gz) tar xvzf "$archive" ;;
|
|
||||||
*.bz2) bunzip2 "$archive" ;;
|
|
||||||
*.rar) unrar x "$archive" ;;
|
|
||||||
*.gz) gunzip "$archive" ;;
|
|
||||||
*.tar) tar xvf "$archive" ;;
|
|
||||||
*.tbz2) tar xvjf "$archive" ;;
|
|
||||||
*.tgz) tar xvzf "$archive" ;;
|
|
||||||
*.zip) unzip "$archive" ;;
|
|
||||||
*.Z) uncompress "$archive" ;;
|
|
||||||
*.7z) 7z x "$archive" ;;
|
|
||||||
*) echo "don't know how to extract '$archive'..." ;;
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
echo "'$archive' is not a valid file!"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find files quickly
|
|
||||||
ff() {
|
|
||||||
find . -name "*$1*" -type f
|
|
||||||
}
|
|
||||||
|
|
||||||
# Find directories quickly
|
|
||||||
fd() {
|
|
||||||
find . -name "*$1*" -type d
|
|
||||||
}
|
|
||||||
|
|
||||||
# IP address lookup
|
|
||||||
alias whatismyip="whatsmyip"
|
|
||||||
function whatsmyip () {
|
|
||||||
# Internal IP Lookup.
|
|
||||||
if command -v ip &> /dev/null; then
|
|
||||||
echo -n "Internal IP: "
|
|
||||||
ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
|
|
||||||
else
|
|
||||||
echo -n "Internal IP: "
|
|
||||||
ifconfig wlan0 | grep "inet " | awk '{print $2}'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# External IP Lookup
|
|
||||||
echo -n "External IP: "
|
|
||||||
curl -4 ifconfig.me
|
|
||||||
}
|
|
||||||
|
|
||||||
# Searches for text in all files in the current folder
|
|
||||||
ftext() {
|
|
||||||
# -i case-insensitive
|
|
||||||
# -I ignore binary files
|
|
||||||
# -H causes filename to be printed
|
|
||||||
# -r recursive search
|
|
||||||
# -n causes line number to be printed
|
|
||||||
# optional: -F treat search term as a literal, not a regular expression
|
|
||||||
# optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
|
|
||||||
grep -iIHrn --color=always "$1" . | less -r
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy file with a progress bar
|
|
||||||
cpp() {
|
|
||||||
set -e
|
|
||||||
strace -q -ewrite cp -- "$1" "$2" 2>&1 |
|
|
||||||
awk '{
|
|
||||||
count += $NF
|
|
||||||
if (count % 10 == 0) {
|
|
||||||
percent = count / total_size * 100
|
|
||||||
printf "%3d%% [", percent
|
|
||||||
for (i=0;i<=percent;i++)
|
|
||||||
printf "="
|
|
||||||
printf ">"
|
|
||||||
for (i=percent;i<100;i++)
|
|
||||||
printf " "
|
|
||||||
printf "]\r"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END { print "" }' total_size="$(stat -c '%s' "$1")" count=0
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy and go to the directory
|
|
||||||
cpg() {
|
|
||||||
if [ -d "$2" ]; then
|
|
||||||
cp "$1" "$2" && cd "$2"
|
|
||||||
else
|
|
||||||
cp "$1" "$2"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Move and go to the directory
|
|
||||||
mvg() {
|
|
||||||
if [ -d "$2" ]; then
|
|
||||||
mv "$1" "$2" && cd "$2"
|
|
||||||
else
|
|
||||||
mv "$1" "$2"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Create and go to the directory
|
|
||||||
mkdirg() {
|
|
||||||
mkdir -p "$1"
|
|
||||||
cd "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Goes up a specified number of directories (i.e. up 4)
|
|
||||||
up() {
|
|
||||||
local d=""
|
|
||||||
limit=$1
|
|
||||||
for ((i = 1; i <= limit; i++)); do
|
|
||||||
d=$d/..
|
|
||||||
done
|
|
||||||
d=$(echo $d | sed 's/^\///')
|
|
||||||
if [ -z "$d" ]; then
|
|
||||||
d=..
|
|
||||||
fi
|
|
||||||
cd $d
|
|
||||||
}
|
|
||||||
|
|
||||||
# Automatically do an ls after each cd, z, or zoxide
|
|
||||||
cd ()
|
|
||||||
{
|
|
||||||
if [ -n "$1" ]; then
|
|
||||||
builtin cd "$@" && ls
|
|
||||||
else
|
|
||||||
builtin cd ~ && ls
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Returns the last 2 fields of the working directory
|
|
||||||
pwdtail() {
|
|
||||||
pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}'
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
138
modules/home/bash/aliases.nix
Normal file
138
modules/home/bash/aliases.nix
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
{
|
||||||
|
username,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.bash.shellAliases = {
|
||||||
|
# GarandOS aliases
|
||||||
|
pullos = "git -C /home/${username}/garandos pull";
|
||||||
|
upd = "nh os switch --hostname ${host}";
|
||||||
|
upg = "nh os switch --hostname ${host} --update";
|
||||||
|
upf = "sudo nix flake update --flake /home/${username}/garandos";
|
||||||
|
upf-undo = "git -C /home/${username}/garandos restore /home/${username}/garandos/flake.lock";
|
||||||
|
upd-bt = "nh os boot --hostname ${host}";
|
||||||
|
upd-ts = "nh os test --hostname ${host}";
|
||||||
|
upd-bd = "nh os build --hostname ${host}";
|
||||||
|
tui = "garandos-tui";
|
||||||
|
ncg = "nh clean all";
|
||||||
|
|
||||||
|
# Development aliases
|
||||||
|
srvenv = "source .venv/bin/activate";
|
||||||
|
"..srvenv" = "source ../.venv/bin/activate";
|
||||||
|
pm = "uv run manage.py";
|
||||||
|
f8 = "uv run flake8 .";
|
||||||
|
bbr = "bun --bun run";
|
||||||
|
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
||||||
|
zed = "MANGOHUD=0 /home/${username}/.local/bin/zed";
|
||||||
|
|
||||||
|
# Development aliases for nix flake
|
||||||
|
nd = "nix develop";
|
||||||
|
nb = "nix build";
|
||||||
|
nr = "nix run";
|
||||||
|
nbr = "nix build && nix run";
|
||||||
|
nbd = "nix build .#develop";
|
||||||
|
nrd = "nix run .#develop";
|
||||||
|
nbrd = "nix build .#develop && nix run .#develop";
|
||||||
|
|
||||||
|
# Development aliases for docker
|
||||||
|
dcu = "docker compose up -d";
|
||||||
|
dcd = "docker compose down";
|
||||||
|
dcb = "docker compose build";
|
||||||
|
dcub = "docker compose up -d --build";
|
||||||
|
|
||||||
|
# System aliases
|
||||||
|
# flush-codium = "sudo killall codium && sudo rm -rf ~/.config/VSCodium/Cache && sudo rm -rf ~/.config/VSCodium/CachedData";
|
||||||
|
kys = "shutdown now";
|
||||||
|
ookla = "speedtest";
|
||||||
|
hypr-cli = "hyprctl clients";
|
||||||
|
|
||||||
|
# Navigation aliases
|
||||||
|
"~" = "cd ~";
|
||||||
|
".." = "cd ..";
|
||||||
|
"..." = "cd ../..";
|
||||||
|
"...." = "cd ../../..";
|
||||||
|
"....." = "cd ../../../..";
|
||||||
|
|
||||||
|
# Modifies commands
|
||||||
|
cat = "bat";
|
||||||
|
cp = "cp -i";
|
||||||
|
mv = "mv -i";
|
||||||
|
rm = "trash -v";
|
||||||
|
mkdir = "mkdir -p";
|
||||||
|
ps = "ps auxf";
|
||||||
|
ping = "ping -c 10";
|
||||||
|
less = "less -R";
|
||||||
|
cls = "clear";
|
||||||
|
multitail = "multitail --no-repeat -c";
|
||||||
|
freshclam = "sudo freshclam";
|
||||||
|
|
||||||
|
# Alias"s for multiple directory listing commands
|
||||||
|
la = "eza -alh --icons"; # show hidden files
|
||||||
|
ls = "eza -aF --icons --color=always"; # add colors and file type extensions
|
||||||
|
lx = "eza -lh --icons --sort=extension"; # sort by extension
|
||||||
|
lk = "eza -lh --icons --sort=size --reverse"; # sort by size
|
||||||
|
lc = "eza -lh --icons --sort=changed"; # sort by change time
|
||||||
|
lu = "eza -lh --icons --sort=accessed"; # sort by access time
|
||||||
|
lr = "eza -lh --icons --recurse"; # recursive ls
|
||||||
|
lt = "eza -lh --icons --sort=modified"; # sort by date
|
||||||
|
lm = "eza -alh --icons | more"; # pipe through "more"
|
||||||
|
lw = "eza -xh --icons"; # wide listing format
|
||||||
|
ll = "eza -lh --icons"; # long listing format
|
||||||
|
labc = "eza -lah --icons --sort=name"; # alphabetical sort
|
||||||
|
lf = "eza -lh --icons | grep -v '^d'"; # files only (przybliżenie)
|
||||||
|
ldir = "eza -lh --icons --only-dirs"; # directories only
|
||||||
|
lla = "eza -alh --icons"; # List and Hidden Files
|
||||||
|
las = "eza -a --icons"; # Hidden Files
|
||||||
|
lls = "eza -lh --icons"; # List
|
||||||
|
|
||||||
|
# chmod commands
|
||||||
|
mx = "chmod a+x";
|
||||||
|
"000" = "chmod -R 000";
|
||||||
|
"644" = "chmod -R 644";
|
||||||
|
"666" = "chmod -R 666";
|
||||||
|
"755" = "chmod -R 755";
|
||||||
|
"777" = "chmod -R 777";
|
||||||
|
|
||||||
|
# Search command line history
|
||||||
|
h = "history | grep ";
|
||||||
|
|
||||||
|
# Search running processes
|
||||||
|
p = "ps aux | grep ";
|
||||||
|
topcpu = "/bin/ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10";
|
||||||
|
|
||||||
|
# Search files in the current folder
|
||||||
|
f = "find . | grep ";
|
||||||
|
|
||||||
|
# Count all files (recursively) in the current folder
|
||||||
|
countfiles = "for t in files links directories; do echo \`find . -type \${t:0:1} | wc -l\` \$t; done 2> /dev/null";
|
||||||
|
|
||||||
|
# Alias"s to show disk space and space used in a folder
|
||||||
|
diskspace = "du -S | sort -n -r |more";
|
||||||
|
folders = "du -h --max-depth=1";
|
||||||
|
folderssort = "find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn";
|
||||||
|
tree = "tree -CAhF --dirsfirst";
|
||||||
|
treed = "tree -CAFd";
|
||||||
|
mountedinfo = "df -hT";
|
||||||
|
|
||||||
|
# Show all logs in /var/log
|
||||||
|
logs = "sudo find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f";
|
||||||
|
|
||||||
|
# fix kitty ssh connection
|
||||||
|
kssh = "kitty +kitten ssh";
|
||||||
|
|
||||||
|
docker-clean = "docker container prune -f ; docker image prune -f ; docker network prune -f ; docker volume prune -f";
|
||||||
|
|
||||||
|
# Remove a directory and all files
|
||||||
|
rmd = "/bin/rm --recursive --force --verbose ";
|
||||||
|
|
||||||
|
# Fun aliases
|
||||||
|
pasjans = "ttysolitaire -p 10 --no-background-color";
|
||||||
|
fc = "fortune | cowsay";
|
||||||
|
|
||||||
|
# Network aliases
|
||||||
|
kssh-server = "kssh hp-t640-homeserver";
|
||||||
|
kssh-server-ts = "kssh hp-t640-homeserver-tailscale";
|
||||||
|
ssh-server = "ssh hp-t640-homeserver";
|
||||||
|
ssh-server-ts = "ssh hp-t640-homeserver-tailscale";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,4 +6,8 @@ _: {
|
|||||||
# fastfetch
|
# fastfetch
|
||||||
# '';
|
# '';
|
||||||
};
|
};
|
||||||
|
imports = [
|
||||||
|
./aliases.nix
|
||||||
|
./functions.nix
|
||||||
|
];
|
||||||
}
|
}
|
||||||
144
modules/home/bash/functions.nix
Normal file
144
modules/home/bash/functions.nix
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
_: {
|
||||||
|
programs.bash.bashrcExtra = ''
|
||||||
|
# Quick directory creation and navigation
|
||||||
|
mkcd() {
|
||||||
|
mkdir -p "$1" && cd "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Extract various archive formats
|
||||||
|
extract() {
|
||||||
|
for archive in "$@"; do
|
||||||
|
if [ -f "$archive" ]; then
|
||||||
|
case "$archive" in
|
||||||
|
*.tar.bz2) tar xvjf "$archive" ;;
|
||||||
|
*.tar.gz) tar xvzf "$archive" ;;
|
||||||
|
*.bz2) bunzip2 "$archive" ;;
|
||||||
|
*.rar) unrar x "$archive" ;;
|
||||||
|
*.gz) gunzip "$archive" ;;
|
||||||
|
*.tar) tar xvf "$archive" ;;
|
||||||
|
*.tbz2) tar xvjf "$archive" ;;
|
||||||
|
*.tgz) tar xvzf "$archive" ;;
|
||||||
|
*.zip) unzip "$archive" ;;
|
||||||
|
*.Z) uncompress "$archive" ;;
|
||||||
|
*.7z) 7z x "$archive" ;;
|
||||||
|
*) echo "don't know how to extract '$archive'..." ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "'$archive' is not a valid file!"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find files quickly
|
||||||
|
ff() {
|
||||||
|
find . -name "*$1*" -type f
|
||||||
|
}
|
||||||
|
|
||||||
|
# Find directories quickly
|
||||||
|
fd() {
|
||||||
|
find . -name "*$1*" -type d
|
||||||
|
}
|
||||||
|
|
||||||
|
# IP address lookup
|
||||||
|
alias whatismyip="whatsmyip"
|
||||||
|
function whatsmyip () {
|
||||||
|
# Internal IP Lookup.
|
||||||
|
if command -v ip &> /dev/null; then
|
||||||
|
echo -n "Internal IP: "
|
||||||
|
ip addr show wlan0 | grep "inet " | awk '{print $2}' | cut -d/ -f1
|
||||||
|
else
|
||||||
|
echo -n "Internal IP: "
|
||||||
|
ifconfig wlan0 | grep "inet " | awk '{print $2}'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# External IP Lookup
|
||||||
|
echo -n "External IP: "
|
||||||
|
curl -4 ifconfig.me
|
||||||
|
}
|
||||||
|
|
||||||
|
# Searches for text in all files in the current folder
|
||||||
|
ftext() {
|
||||||
|
# -i case-insensitive
|
||||||
|
# -I ignore binary files
|
||||||
|
# -H causes filename to be printed
|
||||||
|
# -r recursive search
|
||||||
|
# -n causes line number to be printed
|
||||||
|
# optional: -F treat search term as a literal, not a regular expression
|
||||||
|
# optional: -l only print filenames and not the matching lines ex. grep -irl "$1" *
|
||||||
|
grep -iIHrn --color=always "$1" . | less -r
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy file with a progress bar
|
||||||
|
cpp() {
|
||||||
|
set -e
|
||||||
|
strace -q -ewrite cp -- "$1" "$2" 2>&1 |
|
||||||
|
awk '{
|
||||||
|
count += $NF
|
||||||
|
if (count % 10 == 0) {
|
||||||
|
percent = count / total_size * 100
|
||||||
|
printf "%3d%% [", percent
|
||||||
|
for (i=0;i<=percent;i++)
|
||||||
|
printf "="
|
||||||
|
printf ">"
|
||||||
|
for (i=percent;i<100;i++)
|
||||||
|
printf " "
|
||||||
|
printf "]\r"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END { print "" }' total_size="$(stat -c '%s' "$1")" count=0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Copy and go to the directory
|
||||||
|
cpg() {
|
||||||
|
if [ -d "$2" ]; then
|
||||||
|
cp "$1" "$2" && cd "$2"
|
||||||
|
else
|
||||||
|
cp "$1" "$2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Move and go to the directory
|
||||||
|
mvg() {
|
||||||
|
if [ -d "$2" ]; then
|
||||||
|
mv "$1" "$2" && cd "$2"
|
||||||
|
else
|
||||||
|
mv "$1" "$2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Create and go to the directory
|
||||||
|
mkdirg() {
|
||||||
|
mkdir -p "$1"
|
||||||
|
cd "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Goes up a specified number of directories (i.e. up 4)
|
||||||
|
up() {
|
||||||
|
local d=""
|
||||||
|
limit=$1
|
||||||
|
for ((i = 1; i <= limit; i++)); do
|
||||||
|
d=$d/..
|
||||||
|
done
|
||||||
|
d=$(echo $d | sed 's/^\///')
|
||||||
|
if [ -z "$d" ]; then
|
||||||
|
d=..
|
||||||
|
fi
|
||||||
|
cd $d
|
||||||
|
}
|
||||||
|
|
||||||
|
# Automatically do an ls after each cd, z, or zoxide
|
||||||
|
cd ()
|
||||||
|
{
|
||||||
|
if [ -n "$1" ]; then
|
||||||
|
builtin cd "$@" && ls
|
||||||
|
else
|
||||||
|
builtin cd ~ && ls
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Returns the last 2 fields of the working directory
|
||||||
|
pwdtail() {
|
||||||
|
pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}'
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -2,17 +2,12 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: {
|
||||||
{
|
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
pager = "less -FR";
|
pager = "less -FR";
|
||||||
# other styles available and cane be combined
|
|
||||||
# style = "numbers,changes,headers,rule,grid";
|
|
||||||
style = "full";
|
style = "full";
|
||||||
# Bat has other thems as well
|
|
||||||
# Dracula,ansi,Catppuccin,base16,base16-256,GitHub,Nord,etc
|
|
||||||
theme = lib.mkForce "base16";
|
theme = lib.mkForce "base16";
|
||||||
};
|
};
|
||||||
extraPackages = with pkgs.bat-extras; [
|
extraPackages = with pkgs.bat-extras; [
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
programs.btop = {
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.btop.enable = lib.mkEnableOption "Btop";
|
||||||
|
|
||||||
|
config.programs.btop = lib.mkIf config.btop.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.btop.override {
|
package = pkgs.btop.override {
|
||||||
rocmSupport = true;
|
rocmSupport = true;
|
||||||
|
|||||||
@@ -1,42 +1,17 @@
|
|||||||
_: {
|
{
|
||||||
programs.cava = {
|
lib,
|
||||||
enable = false;
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.cava.enable = lib.mkEnableOption "Cava";
|
||||||
|
|
||||||
|
config.programs.cava = lib.mkIf config.cava.enable {
|
||||||
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
general = {
|
general = {
|
||||||
bar_spacing = 1;
|
bar_spacing = 1;
|
||||||
bar_width = 2;
|
bar_width = 2;
|
||||||
frame_rate = 60;
|
frame_rate = 144;
|
||||||
};
|
|
||||||
color = {
|
|
||||||
#gradient = 1;
|
|
||||||
#gradient_color_1 = "'#011f30'";
|
|
||||||
#gradient_color_2 = "'#09465b'";
|
|
||||||
#gradient_color_3 = "'#045a93'";
|
|
||||||
#gradient_color_4 = "'#00aa00'";
|
|
||||||
#gradient_color_5 = "'#ffff00'";
|
|
||||||
#gradient_color_6 = "'#cc8033'";
|
|
||||||
#gradient_color_7 = "'#aa0000'";
|
|
||||||
#gradient_color_8 = "'#ff00ff'";
|
|
||||||
# Old config
|
|
||||||
#gradient = 1;
|
|
||||||
#gradient_color_1 = "'#8bd5ca'";
|
|
||||||
#gradient_color_2 = "'#91d7e3'";
|
|
||||||
#gradient_color_3 = "'#7dc4e4'";
|
|
||||||
#gradient_color_4 = "'#8aadf4'";
|
|
||||||
#gradient_color_5 = "'#c6a0f6'";
|
|
||||||
#gradient_color_6 = "'#f5bde6'";
|
|
||||||
#gradient_color_7 = "'#ee99a0'";
|
|
||||||
#gradient_color_8 = "'#ed8796'";
|
|
||||||
# Dracula
|
|
||||||
gradient = 1;
|
|
||||||
gradient_color_1 = "'#8BE9FD'";
|
|
||||||
gradient_color_2 = "'#9AEDFE'";
|
|
||||||
gradient_color_3 = "'#CAA9FA'";
|
|
||||||
gradient_color_4 = "'#BD93F9'";
|
|
||||||
gradient_color_5 = "'#FF92D0'";
|
|
||||||
gradient_color_6 = "'#FF79C6'";
|
|
||||||
gradient_color_7 = "'#FF6E67'";
|
|
||||||
gradient_color_8 = "'#FF5555'";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.chromium = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.ungoogled-chromium;
|
|
||||||
# commandLineArgs = [ ];
|
|
||||||
dictionaries = with pkgs; [
|
|
||||||
hunspellDictsChromium.en_US
|
|
||||||
# hunspellDictsChromium.pl_PL Jeśli się taka pojawi
|
|
||||||
];
|
|
||||||
extensions = [
|
|
||||||
{
|
|
||||||
id = "ocaahdebbfolfmndjeplogmgcagdmblk"; # Chromium Web Store
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; # Dark Reader
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "fnaicdffflnofjppbagibeoednhnbjhg"; # floccus bookmarks sync
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "amknoiejhlmhancpahfcfcfhllgkpbld"; # Hoppscotch Browser Extension
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "nngceckbapebfimnlniiiahkandclblb"; # Menedżer haseł Bitwarden
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "fdaphilojaklgkoocegabckfanjoacjg"; # mtab
|
|
||||||
}
|
|
||||||
{
|
|
||||||
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; # uBlock Origin
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
22
modules/home/chromium/default.nix
Normal file
22
modules/home/chromium/default.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.ungoogled-chromium.enable = lib.mkEnableOption "Ungoogled Chromium";
|
||||||
|
|
||||||
|
config.programs.chromium = lib.mkIf config.ungoogled-chromium.enable {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.ungoogled-chromium;
|
||||||
|
# commandLineArgs = [ ];
|
||||||
|
dictionaries = with pkgs; [
|
||||||
|
hunspellDictsChromium.en_US
|
||||||
|
# hunspellDictsChromium.pl_PL Jeśli się taka pojawi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./extensions.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
25
modules/home/chromium/extensions.nix
Normal file
25
modules/home/chromium/extensions.nix
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
_: {
|
||||||
|
programs.chromium.extensions = [
|
||||||
|
{
|
||||||
|
id = "ocaahdebbfolfmndjeplogmgcagdmblk"; # Chromium Web Store
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "eimadpbcbfnmbkopoojfekhnkhdbieeh"; # Dark Reader
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "fnaicdffflnofjppbagibeoednhnbjhg"; # floccus bookmarks sync
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "amknoiejhlmhancpahfcfcfhllgkpbld"; # Hoppscotch Browser Extension
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "nngceckbapebfimnlniiiahkandclblb"; # Menedżer haseł Bitwarden
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "fdaphilojaklgkoocegabckfanjoacjg"; # mtab
|
||||||
|
}
|
||||||
|
{
|
||||||
|
id = "cjpalhdlnbpafiamejdnhcphjbkeiagm"; # uBlock Origin
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,31 +1,32 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) waybarChoice;
|
inherit (import ../../hosts/${host}/variables.nix) waybarChoice;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
|
./bash
|
||||||
|
./chromium
|
||||||
./fastfetch
|
./fastfetch
|
||||||
./hyprland
|
./hyprland
|
||||||
|
./kitty
|
||||||
|
./librewolf
|
||||||
|
./peaclock
|
||||||
./rofi
|
./rofi
|
||||||
./scripts
|
./scripts
|
||||||
|
./swaync
|
||||||
|
./vscodium
|
||||||
waybarChoice
|
waybarChoice
|
||||||
./wlogout
|
./wlogout
|
||||||
|
./xdg
|
||||||
|
./zed
|
||||||
./anki.nix
|
./anki.nix
|
||||||
./bash.nix
|
|
||||||
./bash-aliases.nix
|
|
||||||
./bash-functions.nix
|
|
||||||
./bat.nix
|
./bat.nix
|
||||||
./btop.nix
|
./btop.nix
|
||||||
./cava.nix
|
./cava.nix
|
||||||
./chromium.nix
|
|
||||||
./emoji.nix
|
./emoji.nix
|
||||||
./eza.nix
|
./eza.nix
|
||||||
./fzf.nix
|
./fzf.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./gtk.nix
|
./gtk.nix
|
||||||
./kdeConnect.nix
|
./kdeConnect.nix
|
||||||
./kitty.nix
|
|
||||||
./librewolf.nix
|
|
||||||
./lutris.nix
|
./lutris.nix
|
||||||
./nextcloud.nix
|
./nextcloud.nix
|
||||||
./obs-studio.nix
|
./obs-studio.nix
|
||||||
@@ -35,13 +36,9 @@ in
|
|||||||
./starship.nix
|
./starship.nix
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
./swappy.nix
|
./swappy.nix
|
||||||
./swaync.nix
|
|
||||||
./tealdeer.nix
|
./tealdeer.nix
|
||||||
./vesktop.nix
|
./vesktop.nix
|
||||||
./virtmanager.nix
|
./virtmanager.nix
|
||||||
./xdg.nix
|
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
./vscode.nix
|
|
||||||
./zed.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
home.file.".config/.emoji".text = ''
|
home.file.".config/.emoji".text = ''
|
||||||
😀 grinning face face smile happy joy :D grin
|
😀 grinning face face smile happy joy :D grin
|
||||||
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
😃 grinning face with big eyes face happy joy haha :D :) smile funny
|
||||||
|
|||||||
@@ -1,184 +1,17 @@
|
|||||||
{
|
{
|
||||||
programs.fastfetch = {
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.fastfetch.enable = lib.mkEnableOption "FastFetch";
|
||||||
|
|
||||||
|
config.programs.fastfetch = lib.mkIf config.fastfetch.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.fastfetch;
|
||||||
settings = {
|
|
||||||
display = {
|
|
||||||
color = {
|
|
||||||
keys = "35";
|
|
||||||
output = "90";
|
|
||||||
};
|
|
||||||
separator = " ➜ ";
|
|
||||||
};
|
|
||||||
|
|
||||||
logo = {
|
|
||||||
source = ./garandos.png;
|
|
||||||
type = "kitty-direct";
|
|
||||||
height = 15;
|
|
||||||
width = 30;
|
|
||||||
padding = {
|
|
||||||
top = 3;
|
|
||||||
left = 3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
"break"
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "┌─────────────────────────────────Hardware────────────────────────────────┐";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "host";
|
|
||||||
format = "{5} {1} Type {2}";
|
|
||||||
key = "│ PC";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "cpu";
|
|
||||||
format = "{1} ({3}) @ {7} GHz";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "gpu";
|
|
||||||
format = "{1} {2} @ {12} GHz";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "memory";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "swap";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "disk";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "monitor";
|
|
||||||
key = "│ └ ";
|
|
||||||
keyColor = "33";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
|
||||||
}
|
|
||||||
|
|
||||||
"break"
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "┌─────────────────────────────────Software─────────────────────────────────┐";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "os";
|
|
||||||
key = "│ OS";
|
|
||||||
keyColor = "31";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "command";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "31";
|
|
||||||
text = "echo GarandOS v$" + "{GARANDOS_VERSION}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "kernel";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "31";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "packages";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "31";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "shell";
|
|
||||||
key = "│ └ ";
|
|
||||||
keyColor = "31";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "wm";
|
|
||||||
key = "│ WM";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "wmtheme";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "icons";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "cursor";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "terminal";
|
|
||||||
key = "│ ├ ";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "terminalfont";
|
|
||||||
key = "│ └ ";
|
|
||||||
keyColor = "32";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
|
||||||
}
|
|
||||||
|
|
||||||
"break"
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "┌───────────────────────────────Age / Uptime───────────────────────────────┐";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "command";
|
|
||||||
key = "│ IN";
|
|
||||||
text =
|
|
||||||
#bash
|
|
||||||
''
|
|
||||||
birth_install=$(stat -c %W /)
|
|
||||||
if [ "$birth_install" -gt 0 ]; then
|
|
||||||
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
|
|
||||||
else
|
|
||||||
echo "Installation date unknown"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "command";
|
|
||||||
key = "│ ├ ";
|
|
||||||
text =
|
|
||||||
#bash
|
|
||||||
''
|
|
||||||
birth_install=$(stat -c %W /)
|
|
||||||
current=$(date +%s)
|
|
||||||
delta=$((current - birth_install))
|
|
||||||
delta_days=$((delta / 86400))
|
|
||||||
echo $delta_days days
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "uptime";
|
|
||||||
key = "│ └ ";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
type = "custom";
|
|
||||||
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
|
||||||
}
|
|
||||||
"break"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./settings
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 24 KiB |
7
modules/home/fastfetch/settings/default.nix
Normal file
7
modules/home/fastfetch/settings/default.nix
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
_: {
|
||||||
|
imports = [
|
||||||
|
./display.nix
|
||||||
|
./logo.nix
|
||||||
|
./modules.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
9
modules/home/fastfetch/settings/display.nix
Normal file
9
modules/home/fastfetch/settings/display.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
_: {
|
||||||
|
programs.fastfetch.settings.display = {
|
||||||
|
color = {
|
||||||
|
keys = "35";
|
||||||
|
output = "90";
|
||||||
|
};
|
||||||
|
separator = " ➜ ";
|
||||||
|
};
|
||||||
|
}
|
||||||
12
modules/home/fastfetch/settings/logo.nix
Normal file
12
modules/home/fastfetch/settings/logo.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
_: {
|
||||||
|
programs.fastfetch.settings.logo = {
|
||||||
|
source = ../garandos.png;
|
||||||
|
type = "kitty-direct";
|
||||||
|
height = 15;
|
||||||
|
width = 30;
|
||||||
|
padding = {
|
||||||
|
top = 3;
|
||||||
|
left = 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
159
modules/home/fastfetch/settings/modules.nix
Normal file
159
modules/home/fastfetch/settings/modules.nix
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
_: {
|
||||||
|
programs.fastfetch.settings.modules = [
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "┌─────────────────────────────────Hardware────────────────────────────────┐";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "host";
|
||||||
|
format = "{5} {1} Type {2}";
|
||||||
|
key = "│ PC";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cpu";
|
||||||
|
format = "{1} ({3}) @ {7} GHz";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "gpu";
|
||||||
|
format = "{1} {2} @ {12} GHz";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "memory";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "swap";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "disk";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "monitor";
|
||||||
|
key = "│ └ ";
|
||||||
|
keyColor = "33";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
||||||
|
}
|
||||||
|
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "┌─────────────────────────────────Software─────────────────────────────────┐";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "os";
|
||||||
|
key = "│ OS";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "command";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "31";
|
||||||
|
text = "echo GarandOS v$" + "{GARANDOS_VERSION}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "kernel";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "packages";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "shell";
|
||||||
|
key = "│ └ ";
|
||||||
|
keyColor = "31";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "wm";
|
||||||
|
key = "│ WM";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "wmtheme";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "icons";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "cursor";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminal";
|
||||||
|
key = "│ ├ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "terminalfont";
|
||||||
|
key = "│ └ ";
|
||||||
|
keyColor = "32";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
||||||
|
}
|
||||||
|
|
||||||
|
"break"
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "┌───────────────────────────────Age / Uptime───────────────────────────────┐";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "command";
|
||||||
|
key = "│ IN";
|
||||||
|
text =
|
||||||
|
#bash
|
||||||
|
''
|
||||||
|
birth_install=$(stat -c %W /)
|
||||||
|
if [ "$birth_install" -gt 0 ]; then
|
||||||
|
echo "Installed $(date -d @"$birth_install" +"%Y-%m-%d")"
|
||||||
|
else
|
||||||
|
echo "Installation date unknown"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "command";
|
||||||
|
key = "│ ├ ";
|
||||||
|
text =
|
||||||
|
#bash
|
||||||
|
''
|
||||||
|
birth_install=$(stat -c %W /)
|
||||||
|
current=$(date +%s)
|
||||||
|
delta=$((current - birth_install))
|
||||||
|
delta_days=$((delta / 86400))
|
||||||
|
echo $delta_days days
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "uptime";
|
||||||
|
key = "│ └ ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "custom";
|
||||||
|
format = "└──────────────────────────────────────────────────────────────────────────┘";
|
||||||
|
}
|
||||||
|
"break"
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -3,13 +3,11 @@
|
|||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
accent = "#" + config.lib.stylix.colors.base0D;
|
accent = "#" + config.lib.stylix.colors.base0D;
|
||||||
foreground = "#" + config.lib.stylix.colors.base05;
|
foreground = "#" + config.lib.stylix.colors.base05;
|
||||||
muted = "#" + config.lib.stylix.colors.base03;
|
muted = "#" + config.lib.stylix.colors.base03;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.fzf = {
|
programs.fzf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableBashIntegration = true;
|
enableBashIntegration = true;
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
|
|
||||||
{
|
|
||||||
gtk = {
|
gtk = {
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
name = "Papirus-Dark";
|
name = "Papirus-Dark";
|
||||||
|
|||||||
@@ -1,23 +1,20 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
wayland.windowManager.hyprland.settings.animations = {
|
||||||
wayland.windowManager.hyprland.settings = {
|
enabled = true;
|
||||||
animations = {
|
bezier = [
|
||||||
enabled = true;
|
"wind, -1.05, 0.9, 0.1, 1.05"
|
||||||
bezier = [
|
"winIn, -1.1, 1.1, 0.1, 1.1"
|
||||||
"wind, -1.05, 0.9, 0.1, 1.05"
|
"winOut, -1.3, -0.3, 0, 1"
|
||||||
"winIn, -1.1, 1.1, 0.1, 1.1"
|
"liner, 0, 1, 1, 1"
|
||||||
"winOut, -1.3, -0.3, 0, 1"
|
];
|
||||||
"liner, 0, 1, 1, 1"
|
animation = [
|
||||||
];
|
"windows, 0, 6, wind, slide"
|
||||||
animation = [
|
"windowsIn, 0, 6, winIn, slide"
|
||||||
"windows, 0, 6, wind, slide"
|
"windowsOut, 0, 5, winOut, slide"
|
||||||
"windowsIn, 0, 6, winIn, slide"
|
"windowsMove, 0, 5, wind, slide"
|
||||||
"windowsOut, 0, 5, winOut, slide"
|
"border, 0, 1, liner"
|
||||||
"windowsMove, 0, 5, wind, slide"
|
"fade, 0, 10, default"
|
||||||
"border, 0, 1, liner"
|
"workspaces, 0, 5, wind"
|
||||||
"fade, 0, 10, default"
|
];
|
||||||
"workspaces, 0, 5, wind"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +1,22 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
# name "Dynamic"
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings.animations = {
|
||||||
# name "Dynamic"
|
enabled = true;
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
bezier = [
|
||||||
animations = {
|
"wind, 0.05, 0.9, 0.1, 1.05"
|
||||||
enabled = true;
|
"winIn, 0.1, 1.1, 0.1, 1.1"
|
||||||
bezier = [
|
"winOut, 0.3, -0.3, 0, 1"
|
||||||
"wind, 0.05, 0.9, 0.1, 1.05"
|
"liner, 1, 1, 1, 1"
|
||||||
"winIn, 0.1, 1.1, 0.1, 1.1"
|
];
|
||||||
"winOut, 0.3, -0.3, 0, 1"
|
animation = [
|
||||||
"liner, 1, 1, 1, 1"
|
"windows, 1, 6, wind, slide"
|
||||||
];
|
"windowsIn, 1, 6, winIn, slide"
|
||||||
animation = [
|
"windowsOut, 1, 5, winOut, slide"
|
||||||
"windows, 1, 6, wind, slide"
|
"windowsMove, 1, 5, wind, slide"
|
||||||
"windowsIn, 1, 6, winIn, slide"
|
"border, 1, 1, liner"
|
||||||
"windowsOut, 1, 5, winOut, slide"
|
"borderangle, 1, 30, liner, loop"
|
||||||
"windowsMove, 1, 5, wind, slide"
|
"fade, 1, 10, default"
|
||||||
"border, 1, 1, liner"
|
"workspaces, 1, 5, wind"
|
||||||
"borderangle, 1, 30, liner, loop"
|
];
|
||||||
"fade, 1, 10, default"
|
|
||||||
"workspaces, 1, 5, wind"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,38 +1,34 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
# Name: END-4
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings.animations = {
|
||||||
# Name: END-4
|
enabled = true;
|
||||||
# Credit: END-4 project https://github.com/end-4/dots-hyprland
|
bezier = [
|
||||||
animations = {
|
"linear, 0, 0, 1, 1"
|
||||||
enabled = true;
|
"md3_standard, 0.2, 0, 0, 1"
|
||||||
bezier = [
|
"md3_decel, 0.05, 0.7, 0.1, 1"
|
||||||
"linear, 0, 0, 1, 1"
|
"md3_accel, 0.3, 0, 0.8, 0.15"
|
||||||
"md3_standard, 0.2, 0, 0, 1"
|
"overshot, 0.05, 0.9, 0.1, 1.1"
|
||||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
|
||||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
||||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
"menu_decel, 0.1, 1, 0, 1"
|
||||||
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
|
"menu_accel, 0.38, 0.04, 1, 0.07"
|
||||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
||||||
"menu_decel, 0.1, 1, 0, 1"
|
"easeOutCirc, 0, 0.55, 0.45, 1"
|
||||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
"easeOutExpo, 0.16, 1, 0.3, 1"
|
||||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
"md2, 0.4, 0, 0.2, 1 # use with .2s duration"
|
||||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
];
|
||||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
animation = [
|
||||||
"md2, 0.4, 0, 0.2, 1 # use with .2s duration"
|
"windows, 1, 3, md3_decel, popin 60%"
|
||||||
];
|
"windowsIn, 1, 3, md3_decel, popin 60%"
|
||||||
animation = [
|
"windowsOut, 1, 3, md3_accel, popin 60%"
|
||||||
"windows, 1, 3, md3_decel, popin 60%"
|
"border, 1, 10, default"
|
||||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
"fade, 1, 3, md3_decel"
|
||||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
"layersIn, 1, 3, menu_decel, slide"
|
||||||
"border, 1, 10, default"
|
"layersOut, 1, 1.6, menu_accel"
|
||||||
"fade, 1, 3, md3_decel"
|
"fadeLayersIn, 1, 2, menu_decel"
|
||||||
"layersIn, 1, 3, menu_decel, slide"
|
"fadeLayersOut, 1, 4.5, menu_accel"
|
||||||
"layersOut, 1, 1.6, menu_accel"
|
"workspaces, 1, 7, menu_decel, slide"
|
||||||
"fadeLayersIn, 1, 2, menu_decel"
|
];
|
||||||
"fadeLayersOut, 1, 4.5, menu_accel"
|
|
||||||
"workspaces, 1, 7, menu_decel, slide"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,21 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
# name "moving"
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings.animations = {
|
||||||
# name "moving"
|
enabled = true;
|
||||||
# credit https://github.com/mylinuxforwork/dotfiles
|
bezier = [
|
||||||
animations = {
|
"overshot, 0.05, 0.9, 0.1, 1.05"
|
||||||
enabled = true;
|
"smoothOut, 0.5, 0, 0.99, 0.99"
|
||||||
bezier = [
|
"smoothIn, 0.5, -0.5, 0.68, 1.5"
|
||||||
"overshot, 0.05, 0.9, 0.1, 1.05"
|
];
|
||||||
"smoothOut, 0.5, 0, 0.99, 0.99"
|
animation = [
|
||||||
"smoothIn, 0.5, -0.5, 0.68, 1.5"
|
"windows, 1, 5, overshot, slide"
|
||||||
];
|
"windowsOut, 1, 3, smoothOut"
|
||||||
animation = [
|
"windowsIn, 1, 3, smoothOut"
|
||||||
"windows, 1, 5, overshot, slide"
|
"windowsMove, 1, 4, smoothIn, slide"
|
||||||
"windowsOut, 1, 3, smoothOut"
|
"border, 1, 5, default"
|
||||||
"windowsIn, 1, 3, smoothOut"
|
"fade, 1, 5, smoothIn"
|
||||||
"windowsMove, 1, 4, smoothIn, slide"
|
"fadeDim, 1, 5, smoothIn"
|
||||||
"border, 1, 5, default"
|
"workspaces, 1, 6, default"
|
||||||
"fade, 1, 5, smoothIn"
|
];
|
||||||
"fadeDim, 1, 5, smoothIn"
|
|
||||||
"workspaces, 1, 6, default"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,128 +1,140 @@
|
|||||||
{ host, username, ... }:
|
{
|
||||||
let
|
host,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
|
inherit (import ../../../hosts/${host}/variables.nix) browser terminal;
|
||||||
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
wayland.windowManager.hyprland.settings = {
|
||||||
bind = [
|
bind = [
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# APLIKACJE - GŁÓWNE
|
# APLIKACJE - GŁÓWNE
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier, A, exec, anki"
|
"SUPER, A, exec, anki"
|
||||||
"$modifier, C, exec, chromium"
|
"SUPER, B, exec, bitwarden"
|
||||||
"$modifier, D, exec, vesktop"
|
"SUPER, C, exec, chromium"
|
||||||
"$modifier, I, exec, iotas"
|
"SUPER, D, exec, vesktop"
|
||||||
"$modifier, M, exec, plexamp"
|
"SUPER, G, exec, affinity-v3"
|
||||||
"$modifier, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop"
|
"SUPER, I, exec, iotas"
|
||||||
"$modifier, Return, exec, ${terminal}"
|
"SUPER, J, exec, Jan"
|
||||||
"$modifier, S, exec, steam"
|
"SUPER, L, exec, logseq"
|
||||||
"$modifier, T, exec, thunar"
|
"SUPER, M, exec, plexamp"
|
||||||
"$modifier, W, exec, ${browser}"
|
"SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop"
|
||||||
"$modifier, Z, exec, zeditor"
|
"SUPER, O, exec, obs"
|
||||||
|
"SUPER, P, exec, plex-desktop"
|
||||||
|
"SUPER, Return, exec, ${terminal}"
|
||||||
|
"SUPER, S, exec, steam"
|
||||||
|
"SUPER, T, exec, thunar"
|
||||||
|
"SUPER, V, exec, codium"
|
||||||
|
"SUPER, W, exec, ${browser}"
|
||||||
|
"SUPER, Z, exec, zeditor"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# APLIKACJE - Z SHIFT
|
# APLIKACJE - Z SHIFT
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier SHIFT, B, exec, blueman-manager"
|
"SUPER SHIFT, B, exec, blueman-manager"
|
||||||
"$modifier SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop"
|
"SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop"
|
||||||
"$modifier SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop"
|
"SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop"
|
||||||
"$modifier SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop"
|
"SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop"
|
||||||
"$modifier SHIFT, N, exec, nextcloud"
|
"SUPER SHIFT, N, exec, nextcloud"
|
||||||
"$modifier SHIFT, O, exec, onlyoffice-desktopeditors"
|
"SUPER SHIFT, O, exec, onlyoffice-desktopeditors"
|
||||||
"$modifier SHIFT, Return, exec, rofi-launcher"
|
"SUPER SHIFT, Return, exec, rofi-launcher"
|
||||||
"$modifier SHIFT, T, exec, tutanota-desktop"
|
"SUPER SHIFT, T, exec, tutanota-desktop"
|
||||||
"$modifier SHIFT, W, exec, web-search"
|
"SUPER SHIFT, W, exec, web-search"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# APLIKACJE - Z ALT
|
# APLIKACJE - Z ALT
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop"
|
"SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop"
|
||||||
"$modifier ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop"
|
"SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop"
|
||||||
"$modifier ALT, S, exec, slack"
|
"SUPER ALT, S, exec, slack"
|
||||||
"$modifier ALT, T, exec, gnome-text-editor"
|
"SUPER ALT, T, exec, gedit"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# APLIKACJE - Z CONTROL
|
# APLIKACJE - Z CONTROL
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier CONTROL, M, exec, mattermost-desktop"
|
"SUPER CONTROL, G, exec, gimp"
|
||||||
|
"SUPER CONTROL, M, exec, mattermost-desktop"
|
||||||
|
"SUPER CONTROL, S, exec, signal-desktop"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# NARZĘDZIA SYSTEMOWE
|
# NARZĘDZIA SYSTEMOWE
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier, E, exec, emopicker9000"
|
"SUPER, E, exec, emopicker9000"
|
||||||
"$modifier, K, exec, galculator"
|
"SUPER, K, exec, galculator"
|
||||||
"$modifier, P, exec, hyprpicker -a"
|
"SUPER ALT, W, exec, wallsetter"
|
||||||
"$modifier ALT, W, exec, wallsetter"
|
"SUPER CONTROL, P, exec, hyprpicker -a"
|
||||||
"$modifier SHIFT, K, exec, list-keybinds"
|
"SUPER SHIFT, K, exec, list-keybinds"
|
||||||
"$modifier SHIFT, P, exec, pavucontrol"
|
"SUPER SHIFT, P, exec, pavucontrol"
|
||||||
"$modifier SHIFT, S, exec, screenshootin"
|
"SUPER SHIFT, S, exec, screenshootin"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# ZARZĄDZANIE OKNAMI
|
# ZARZĄDZANIE OKNAMI
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier, Escape, exec, hyprlock"
|
"SUPER, Escape, exec, hyprlock"
|
||||||
"$modifier, F, fullscreen,"
|
"SUPER, F, fullscreen,"
|
||||||
"$modifier, Q, killactive,"
|
"SUPER, Q, killactive,"
|
||||||
"$modifier CONTROL, Escape, exec, wlogout"
|
"SUPER CONTROL, Escape, exec, wlogout"
|
||||||
"$modifier SHIFT, Escape, exit,"
|
"SUPER SHIFT, Escape, exit,"
|
||||||
"$modifier SHIFT, I, togglesplit,"
|
"SUPER SHIFT, I, togglesplit,"
|
||||||
|
"SUPER SHIFT, F, togglefloating,"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# FOKUS OKIEN
|
# FOKUS OKIEN
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier, down, movefocus, d"
|
"SUPER, down, movefocus, d"
|
||||||
"$modifier, left, movefocus, l"
|
"SUPER, left, movefocus, l"
|
||||||
"$modifier, right, movefocus, r"
|
"SUPER, right, movefocus, r"
|
||||||
"$modifier, up, movefocus, u"
|
"SUPER, up, movefocus, u"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# PRZEMIESZCZANIE OKIEN
|
# PRZEMIESZCZANIE OKIEN
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier SHIFT, down, movewindow, d"
|
"SUPER SHIFT, down, movewindow, d"
|
||||||
"$modifier SHIFT, left, movewindow, l"
|
"SUPER SHIFT, left, movewindow, l"
|
||||||
"$modifier SHIFT, right, movewindow, r"
|
"SUPER SHIFT, right, movewindow, r"
|
||||||
"$modifier SHIFT, up, movewindow, u"
|
"SUPER SHIFT, up, movewindow, u"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# ZAMIANA OKIEN
|
# ZAMIANA OKIEN
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier ALT, down, swapwindow, d"
|
"SUPER ALT, down, swapwindow, d"
|
||||||
"$modifier ALT, left, swapwindow, l"
|
"SUPER ALT, left, swapwindow, l"
|
||||||
"$modifier ALT, right, swapwindow, r"
|
"SUPER ALT, right, swapwindow, r"
|
||||||
"$modifier ALT, up, swapwindow, u"
|
"SUPER ALT, up, swapwindow, u"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# WORKSPACES - PRZEŁĄCZANIE
|
# WORKSPACES - PRZEŁĄCZANIE
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier, 0, workspace, 10"
|
"SUPER, 0, workspace, 10"
|
||||||
"$modifier, 1, workspace, 1"
|
"SUPER, 1, workspace, 1"
|
||||||
"$modifier, 2, workspace, 2"
|
"SUPER, 2, workspace, 2"
|
||||||
"$modifier, 3, workspace, 3"
|
"SUPER, 3, workspace, 3"
|
||||||
"$modifier, 4, workspace, 4"
|
"SUPER, 4, workspace, 4"
|
||||||
"$modifier, 5, workspace, 5"
|
"SUPER, 5, workspace, 5"
|
||||||
"$modifier, 6, workspace, 6"
|
"SUPER, 6, workspace, 6"
|
||||||
"$modifier, 7, workspace, 7"
|
"SUPER, 7, workspace, 7"
|
||||||
"$modifier, 8, workspace, 8"
|
"SUPER, 8, workspace, 8"
|
||||||
"$modifier, 9, workspace, 9"
|
"SUPER, 9, workspace, 9"
|
||||||
"$modifier CONTROL, left, workspace, e-1"
|
"SUPER CONTROL, left, workspace, e-1"
|
||||||
"$modifier CONTROL, right, workspace, e+1"
|
"SUPER CONTROL, right, workspace, e+1"
|
||||||
"$modifier, mouse_down, workspace, e+1"
|
"SUPER, mouse_down, workspace, e+1"
|
||||||
"$modifier, mouse_up, workspace, e-1"
|
"SUPER, mouse_up, workspace, e-1"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# WORKSPACES - PRZENOSZENIE OKIEN
|
# WORKSPACES - PRZENOSZENIE OKIEN
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
"$modifier SHIFT, 0, movetoworkspace, 10"
|
"SUPER SHIFT, 0, movetoworkspace, 10"
|
||||||
"$modifier SHIFT, 1, movetoworkspace, 1"
|
"SUPER SHIFT, 1, movetoworkspace, 1"
|
||||||
"$modifier SHIFT, 2, movetoworkspace, 2"
|
"SUPER SHIFT, 2, movetoworkspace, 2"
|
||||||
"$modifier SHIFT, 3, movetoworkspace, 3"
|
"SUPER SHIFT, 3, movetoworkspace, 3"
|
||||||
"$modifier SHIFT, 4, movetoworkspace, 4"
|
"SUPER SHIFT, 4, movetoworkspace, 4"
|
||||||
"$modifier SHIFT, 5, movetoworkspace, 5"
|
"SUPER SHIFT, 5, movetoworkspace, 5"
|
||||||
"$modifier SHIFT, 6, movetoworkspace, 6"
|
"SUPER SHIFT, 6, movetoworkspace, 6"
|
||||||
"$modifier SHIFT, 7, movetoworkspace, 7"
|
"SUPER SHIFT, 7, movetoworkspace, 7"
|
||||||
"$modifier SHIFT, 8, movetoworkspace, 8"
|
"SUPER SHIFT, 8, movetoworkspace, 8"
|
||||||
"$modifier SHIFT, 9, movetoworkspace, 9"
|
"SUPER SHIFT, 9, movetoworkspace, 9"
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# MEDIA I KONTROLKI SYSTEMOWE
|
# MEDIA I KONTROLKI SYSTEMOWE
|
||||||
@@ -140,25 +152,18 @@ in
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
# NIEUŻYWANE KEYBINDY
|
# NIEUŻYWANE KEYBINDY
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
# "$modifier, B, exec, bitwarden"
|
# "SUPER SHIFT, N, exec, swaync-client -rs"
|
||||||
# "$modifier, G, exec, affinity-v3"
|
# "SUPER, P, pseudo,"
|
||||||
# "$modifier, L, exec, logseq"
|
# "SUPER ALT,F, workspaceopt, allfloat"
|
||||||
# "$modifier, O, exec, obs"
|
# "SUPER SHIFT, SPACE, movetoworkspace, special"
|
||||||
# "$modifier, V, exec, codium"
|
# "SUPER, SPACE, togglespecialworkspace"
|
||||||
|
|
||||||
# "$modifier SHIFT, N, exec, swaync-client -rs"
|
|
||||||
# "$modifier, P, pseudo,"
|
|
||||||
# "$modifier SHIFT,F, togglefloating,"
|
|
||||||
# "$modifier ALT,F, workspaceopt, allfloat"
|
|
||||||
# "$modifier SHIFT, SPACE, movetoworkspace, special"
|
|
||||||
# "$modifier, SPACE, togglespecialworkspace"
|
|
||||||
# "ALT,Tab,cyclenext"
|
# "ALT,Tab,cyclenext"
|
||||||
# "ALT,Tab,bringactivetotop"
|
# "ALT,Tab,bringactivetotop"
|
||||||
];
|
];
|
||||||
|
|
||||||
bindm = [
|
bindm = [
|
||||||
"$modifier, mouse:272, movewindow"
|
"SUPER, mouse:272, movewindow"
|
||||||
"$modifier, mouse:273, resizewindow"
|
"SUPER, mouse:273, resizewindow"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
|
||||||
inherit (import ../../../hosts/${host}/variables.nix) animChoice;
|
inherit (import ../../../hosts/${host}/variables.nix) animChoice;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
imports = [
|
imports = [
|
||||||
animChoice
|
animChoice
|
||||||
./binds.nix
|
./binds.nix
|
||||||
|
|||||||
@@ -1,37 +1,32 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
wayland.windowManager.hyprland.settings.env = [
|
||||||
wayland.windowManager.hyprland = {
|
"NIXOS_OZONE_WL, 1"
|
||||||
settings = {
|
"NIXPKGS_ALLOW_UNFREE, 1"
|
||||||
env = [
|
"XDG_CURRENT_DESKTOP, Hyprland"
|
||||||
"NIXOS_OZONE_WL, 1"
|
"XDG_SESSION_TYPE, wayland"
|
||||||
"NIXPKGS_ALLOW_UNFREE, 1"
|
"XDG_SESSION_DESKTOP, Hyprland"
|
||||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
"GDK_BACKEND, wayland, x11"
|
||||||
"XDG_SESSION_TYPE, wayland"
|
"CLUTTER_BACKEND, wayland"
|
||||||
"XDG_SESSION_DESKTOP, Hyprland"
|
"QT_QPA_PLATFORM=wayland;xcb"
|
||||||
"GDK_BACKEND, wayland, x11"
|
"QT_WAYLAND_DISABLE_WINDOWDECORATION, 1"
|
||||||
"CLUTTER_BACKEND, wayland"
|
"QT_AUTO_SCREEN_SCALE_FACTOR, 1"
|
||||||
"QT_QPA_PLATFORM=wayland;xcb"
|
"SDL_VIDEODRIVER, x11"
|
||||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION, 1"
|
"MOZ_ENABLE_WAYLAND, 1"
|
||||||
"QT_AUTO_SCREEN_SCALE_FACTOR, 1"
|
# This is to make electron apps start in wayland
|
||||||
"SDL_VIDEODRIVER, x11"
|
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
||||||
"MOZ_ENABLE_WAYLAND, 1"
|
# Disabling this by default as it can result in inop cfg
|
||||||
# This is to make electron apps start in wayland
|
# Added card2 in case this gets enabled. For better coverage
|
||||||
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
# This is mostly needed by Hybrid laptops.
|
||||||
# Disabling this by default as it can result in inop cfg
|
# but if you have multiple discrete GPUs this will set order
|
||||||
# Added card2 in case this gets enabled. For better coverage
|
#"AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1:/dev/card2"
|
||||||
# This is mostly needed by Hybrid laptops.
|
"GDK_SCALE,1"
|
||||||
# but if you have multiple discrete GPUs this will set order
|
"QT_SCALE_FACTOR,1"
|
||||||
#"AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1:/dev/card2"
|
"EDITOR,nano"
|
||||||
"GDK_SCALE,1"
|
# Set terminal and xdg_terminal_emulator to kitty
|
||||||
"QT_SCALE_FACTOR,1"
|
# To provent yazi from starting xterm when run from rofi menu
|
||||||
"EDITOR,nano"
|
# You can set to your preferred terminal if you you like
|
||||||
# Set terminal and xdg_terminal_emulator to kitty
|
# ToDo: Pull default terminal from config
|
||||||
# To provent yazi from starting xterm when run from rofi menu
|
"TERMINAL,kitty"
|
||||||
# You can set to your preferred terminal if you you like
|
"XDG_TERMINAL_EMULATOR,kitty"
|
||||||
# ToDo: Pull default terminal from config
|
];
|
||||||
"TERMINAL,kitty"
|
|
||||||
"XDG_TERMINAL_EMULATOR,kitty"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,22 @@
|
|||||||
{ host, ... }:
|
{host, ...}: let
|
||||||
let
|
inherit
|
||||||
inherit (import ../../../hosts/${host}/variables.nix)
|
(import ../../../hosts/${host}/variables.nix)
|
||||||
stylixImage
|
stylixImage
|
||||||
;
|
;
|
||||||
in
|
in {
|
||||||
{
|
wayland.windowManager.hyprland.settings.exec-once = [
|
||||||
wayland.windowManager.hyprland.settings = {
|
"wl-paste --type text --watch cliphist store" # Saves text
|
||||||
exec-once = [
|
"wl-paste --type image --watch cliphist store" # Saves images
|
||||||
"wl-paste --type text --watch cliphist store" # Saves text
|
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
"wl-paste --type image --watch cliphist store" # Saves images
|
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
||||||
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
"systemctl --user start hyprpolkitagent"
|
||||||
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
|
||||||
"systemctl --user start hyprpolkitagent"
|
|
||||||
|
|
||||||
"killall -q swww;sleep .5 && swww-daemon"
|
"killall -q swww;sleep .5 && swww-daemon"
|
||||||
"killall -q waybar;sleep .5 && waybar"
|
"killall -q waybar;sleep .5 && waybar"
|
||||||
"killall -q swaync;sleep .5 && swaync"
|
"killall -q swaync;sleep .5 && swaync"
|
||||||
"#wallsetter &"
|
"#wallsetter &"
|
||||||
"pypr &"
|
"pypr &"
|
||||||
"nm-applet --indicator"
|
"nm-applet --indicator"
|
||||||
"sleep 1.0 && swww img ${stylixImage}"
|
"sleep 1.0 && swww img ${stylixImage}"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,23 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
|
services.hypridle = {
|
||||||
{
|
enable = true;
|
||||||
services = {
|
settings = {
|
||||||
hypridle = {
|
general = {
|
||||||
enable = true;
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
settings = {
|
ignore_dbus_inhibit = false;
|
||||||
general = {
|
lock_cmd = "hyprlock";
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
|
||||||
ignore_dbus_inhibit = false;
|
|
||||||
lock_cmd = "hyprlock";
|
|
||||||
};
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 900;
|
|
||||||
on-timeout = "hyprlock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 1200;
|
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "hyprlock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 1200;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,9 @@
|
|||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}: let
|
||||||
let
|
|
||||||
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
systemd.user.targets.hyprland-session.Unit.Wants = [
|
||||||
"xdg-desktop-autostart.target"
|
"xdg-desktop-autostart.target"
|
||||||
];
|
];
|
||||||
@@ -26,11 +24,9 @@ in
|
|||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableXdgAutostart = true;
|
enableXdgAutostart = true;
|
||||||
variables = [ "--all" ];
|
variables = ["--all"];
|
||||||
};
|
|
||||||
xwayland = {
|
|
||||||
enable = true;
|
|
||||||
};
|
};
|
||||||
|
xwayland.enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "${keyboardLayout}";
|
kb_layout = "${keyboardLayout}";
|
||||||
@@ -62,14 +58,12 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
general = {
|
general = {
|
||||||
"$modifier" = "SUPER";
|
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
gaps_in = 6;
|
gaps_in = 6;
|
||||||
gaps_out = 8;
|
gaps_out = 8;
|
||||||
border_size = 2;
|
border_size = 2;
|
||||||
resize_on_border = true;
|
resize_on_border = true;
|
||||||
"col.active_border" =
|
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
||||||
"rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
|
||||||
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -135,9 +129,7 @@ in
|
|||||||
direct_scanout = 0;
|
direct_scanout = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
debug = {
|
debug.full_cm_proto = true;
|
||||||
full_cm_proto = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
master = {
|
master = {
|
||||||
new_status = "master";
|
new_status = "master";
|
||||||
@@ -146,17 +138,13 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Ensure Xwayland windows render at integer scale; compositor scales them
|
# Ensure Xwayland windows render at integer scale; compositor scales them
|
||||||
xwayland = {
|
xwayland.force_zero_scaling = true;
|
||||||
force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = "
|
extraConfig = "
|
||||||
monitor=,preferred,auto,auto
|
monitor=,preferred,auto,auto
|
||||||
monitor=Virtual-1,1920x1080@60,auto,1
|
monitor=Virtual-1,1920x1080@60,auto,1
|
||||||
${
|
${extraMonitorSettings}
|
||||||
extraMonitorSettings
|
|
||||||
}
|
|
||||||
# To enable blur on waybar uncomment the line below
|
# To enable blur on waybar uncomment the line below
|
||||||
# Thanks to SchotjeChrisman
|
# Thanks to SchotjeChrisman
|
||||||
#layerrule = blur,waybar
|
#layerrule = blur,waybar
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ username, ... }:
|
{username, ...}: {
|
||||||
{
|
|
||||||
programs.hyprlock = {
|
programs.hyprlock = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{ ... }:
|
_: {
|
||||||
{
|
|
||||||
home.file.".config/hypr/pyprland.toml".text = ''
|
home.file.".config/hypr/pyprland.toml".text = ''
|
||||||
[pyprland]
|
[pyprland]
|
||||||
plugins = [
|
plugins = [
|
||||||
|
|||||||
@@ -1,100 +1,97 @@
|
|||||||
_: {
|
_: {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland.settings.windowrule = [
|
||||||
settings = {
|
# XWayland specific rules
|
||||||
windowrule = [
|
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
|
||||||
# XWayland specific rules
|
# downside it can impact other xwayland apps
|
||||||
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
|
# This rule is a template for a more targeted approach
|
||||||
# downside it can impact other xwayland apps
|
"no_blur on, match:class resolve, match:xwayland 1" # Window rule for just resolve
|
||||||
# This rule is a template for a more targeted approach
|
|
||||||
"noblur, class:^(\bresolve\b)$, xwayland:1" # Window rule for just resolve
|
|
||||||
|
|
||||||
# Application tags
|
# Application tags
|
||||||
"tag +file-manager, class:^([Tt]hunar|org.gnome.Nautilus|[Pp]cmanfm-qt)$"
|
"tag +file-manager, match:class [Tt]hunar|org\.gnome\.Nautilus|[Pp]cmanfm-qt"
|
||||||
"tag +terminal, class:^(com.mitchellh.ghostty|org.wezfurlong.wezterm|Alacritty|kitty|kitty-dropterm)$"
|
"tag +terminal, match:class com\.mitchellh\.ghostty|org\.wezfurlong\.wezterm|Alacritty|kitty|kitty-dropterm"
|
||||||
"tag +browser, class:^(Brave-browser(-beta|-dev|-unstable)?)$"
|
"tag +browser, match:class [Ff]irefox|org\.mozilla\.firefox|[Ff]irefox-esr"
|
||||||
"tag +browser, class:^([Ff]irefox|org.mozilla.firefox|[Ff]irefox-esr)$"
|
"tag +browser, match:class [Ll]ibrewolf|io\.gitlab\.librewolf-community"
|
||||||
"tag +browser, class:^([Gg]oogle-chrome(-beta|-dev|-unstable)?)$"
|
"tag +browser, match:class [Gg]oogle-chrome(-beta|-dev|-unstable)?|[Cc]hromium-browser(-beta|-dev|-unstable)?"
|
||||||
"tag +browser, class:^([Tt]horium-browser|[Cc]achy-browser)$"
|
"tag +projects, match:class VSCode|code|code-url-handler|codium|codium-url-handler|VSCodium|VSCodium-url-handler"
|
||||||
"tag +projects, class:^(codium|codium-url-handler|VSCodium)$"
|
"tag +projects, match:class dev\.zed\.Zed"
|
||||||
"tag +projects, class:^(VSCode|code-url-handler)$"
|
"tag +im, match:class [Dd]iscord|[Ww]ebCord|[Vv]esktop"
|
||||||
"tag +im, class:^([Dd]iscord|[Ww]ebCord|[Vv]esktop)$"
|
"tag +im, match:class [Ff]erdium"
|
||||||
"tag +im, class:^([Ff]erdium)$"
|
"tag +im, match:class [Ss]ignal"
|
||||||
"tag +im, class:^([Ww]hatsapp-for-linux)$"
|
"tag +im, match:class [Ss]lack"
|
||||||
"tag +im, class:^(org.telegram.desktop|io.github.tdesktop_x64.TDesktop)$"
|
"tag +im, match:class [Tt]eams-for-linux"
|
||||||
"tag +im, class:^(teams-for-linux)$"
|
"tag +games, match:class gamescope"
|
||||||
"tag +games, class:^(gamescope)$"
|
"tag +games, match:class ?:steam_app_\d+"
|
||||||
"tag +games, class:^(steam_app_\d+)$"
|
"tag +games, match:class tf_linux64"
|
||||||
"tag +gamestore, class:^([Ss]team)$"
|
"tag +games, match:class Minecraft\*.*"
|
||||||
"tag +gamestore, title:^([Ll]utris)$"
|
"tag +gamestore, match:class [Ss]team"
|
||||||
"tag +gamestore, class:^(com.heroicgameslauncher.hgl)$"
|
"tag +gamestore, match:title [Ll]utris"
|
||||||
"tag +settings, class:^(gnome-disks|wihotspot(-gui)?)$"
|
"tag +gamestore, match:class com\.heroicgameslauncher\.hgl"
|
||||||
"tag +settings, class:^([Rr]ofi)$"
|
"tag +gamestore, match:class org\.prismlauncher\.PrismLauncher"
|
||||||
"tag +settings, class:^(file-roller|org.gnome.FileRoller)$"
|
"tag +settings, match:class gnome-disks|wihotspot(-gui)?"
|
||||||
"tag +settings, class:^(nm-applet|nm-connection-editor|blueman-manager)$"
|
"tag +settings, match:class [Rr]ofi"
|
||||||
"tag +settings, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$"
|
"tag +settings, match:class file-roller|org\.gnome\.FileRoller"
|
||||||
"tag +settings, class:^(nwg-look|qt5ct|qt6ct|[Yy]ad)$"
|
"tag +settings, match:class nm-applet|nm-connection-editor|blueman-manager"
|
||||||
"tag +settings, class:(xdg-desktop-portal-gtk)"
|
"tag +settings, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
||||||
"tag +settings, class:(.blueman-manager-wrapped)"
|
"tag +settings, match:class nwg-look|qt5ct|qt6ct|[Yy]ad"
|
||||||
"tag +settings, class:(nwg-displays)"
|
"tag +settings, match:class xdg-desktop-portal-gtk"
|
||||||
|
"tag +settings, match:class ?:blueman-manager-wrapped"
|
||||||
|
"tag +settings, match:class nwg-displays"
|
||||||
|
|
||||||
# Position and movement rules
|
# Position and movement rules
|
||||||
"move 72% 7%,title:^(Picture-in-Picture)$"
|
"move 72% 7%, match:title Picture-in-Picture"
|
||||||
"center, class:^([Ff]erdium)$"
|
"center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
||||||
"center, class:^(pavucontrol|org.pulseaudio.pavucontrol|com.saivert.pwvucontrol)$"
|
"center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
||||||
"center, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
|
"center on, match:title Authentication Required"
|
||||||
"center, title:^(Authentication Required)$"
|
|
||||||
|
|
||||||
# Idle inhibit rules
|
# Idle inhibit rules
|
||||||
"idleinhibit fullscreen, class:^(*)$"
|
"idle_inhibit fullscreen, match:class .*"
|
||||||
"idleinhibit fullscreen, title:^(*)$"
|
"idle_inhibit fullscreen, match:title .*"
|
||||||
"idleinhibit fullscreen, fullscreen:1"
|
"idle_inhibit fullscreen, match:fullscreen 1"
|
||||||
|
|
||||||
# Float rules
|
# Float rules
|
||||||
"float, class:^([Ww]aypaper)$"
|
"float on, match:class [Ww]aypaper"
|
||||||
"float, tag:settings*"
|
"float on, match:tag settings*"
|
||||||
"float, class:^([Ff]erdium)$"
|
"float on, match:title Picture-in-Picture"
|
||||||
"float, title:^(Picture-in-Picture)$"
|
"float on, match:title Authentication Required"
|
||||||
"float, class:^(mpv|com.github.rafostar.Clapper)$"
|
"float on, match:title War in Tunnels"
|
||||||
"float, title:^(Authentication Required)$"
|
"float on, match:class codium|codium-url-handler|VSCodium, match:title negative:.*(?:codium|VSCodium).*"
|
||||||
"float, title:^(War in Tunnels)$"
|
"float on, match:class com\.heroicgameslauncher\.hgl, match:title negative Heroic Games Launcher"
|
||||||
"float, class:(codium|codium-url-handler|VSCodium), title:negative:(.*codium.*|.*VSCodium.*)"
|
"float on, match:class [Ss]team, match:title negative:[Ss]team"
|
||||||
"float, class:^(com.heroicgameslauncher.hgl)$, title:negative:(Heroic Games Launcher)"
|
"float on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
||||||
"float, class:^([Ss]team)$, title:negative:^([Ss]team)$"
|
"float on, match:class galculator"
|
||||||
"float, class:([Tt]hunar), title:negative:(.*[Tt]hunar.*)"
|
"float on, match:initial_title Add Folder to Workspace"
|
||||||
"float, class:^(galculator)$"
|
"float on, match:initial_title Open Files"
|
||||||
"float, initialTitle:(Add Folder to Workspace)"
|
"float on, match:initial_title wants to save"
|
||||||
"float, initialTitle:(Open Files)"
|
|
||||||
"float, initialTitle:(wants to save)"
|
|
||||||
|
|
||||||
# Size rules
|
# Size rules
|
||||||
"size 70% 60%, initialTitle:(Open Files)"
|
"size 70% 60%, match:initial_title Open Files"
|
||||||
"size 70% 60%, initialTitle:(Add Folder to Workspace)"
|
"size 70% 60%, match:initial_title Add Folder to Workspace"
|
||||||
"size 70% 70%, tag:settings*"
|
"size 70% 70%, match:tag settings*"
|
||||||
"size 60% 70%, class:^([Ff]erdium)$"
|
|
||||||
|
|
||||||
# Tile rules
|
# Tile rules
|
||||||
"tile, class:^(affinity.exe)$"
|
"tile on, match:class affinity\.exe"
|
||||||
"tile, class:^(dev.zed.Zed)$"
|
"tile on, match:class dev\.zed\.Zed"
|
||||||
|
"tile on, match:class mpv"
|
||||||
|
"tile on, match:class com-cburch-logisim-Main"
|
||||||
|
|
||||||
# Opacity rules
|
# Opacity rules
|
||||||
"opacity 1.0 1.0, tag:browser*"
|
"opacity 1.0 1.0, match:tag browser*"
|
||||||
"opacity 0.9 0.8, tag:projects*"
|
"opacity 0.9 0.8, match:tag projects*"
|
||||||
"opacity 0.94 0.86, tag:im*"
|
"opacity 0.94 0.86, match:tag im*"
|
||||||
"opacity 0.9 0.8, tag:file-manager*"
|
"opacity 0.85 0.75, match:tag gamestore*"
|
||||||
"opacity 0.8 0.7, tag:terminal*"
|
"opacity 0.9 0.8, match:tag file-manager*"
|
||||||
"opacity 0.8 0.7, tag:settings*"
|
"opacity 0.8 0.7, match:tag terminal*"
|
||||||
"opacity 0.8 0.7, class:^(gedit|org.gnome.TextEditor|mousepad)$"
|
"opacity 0.8 0.7, match:tag settings*"
|
||||||
"opacity 0.9 0.8, class:^(seahorse)$ # gnome-keyring gui"
|
"opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad"
|
||||||
"opacity 0.95 0.75, title:^(Picture-in-Picture)$"
|
"opacity 0.9 0.8, match:class seahorse # gnome-keyring gui"
|
||||||
|
"opacity 0.95 0.75, match:title Picture-in-Picture"
|
||||||
|
|
||||||
# Picture-in-Picture specific rules
|
# Picture-in-Picture specific rules
|
||||||
"pin, title:^(Picture-in-Picture)$"
|
"pin on, match:title Picture-in-Picture"
|
||||||
"keepaspectratio, title:^(Picture-in-Picture)$"
|
"keep_aspect_ratio on, match:title Picture-in-Picture"
|
||||||
|
|
||||||
# Games specific rules
|
# Games specific rules
|
||||||
"noblur, tag:games*"
|
"no_blur on, match:tag games*"
|
||||||
"fullscreen, tag:games*"
|
"fullscreen on, match:tag games*"
|
||||||
];
|
];
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
services.kdeconnect = {
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.kdeconnect.enable = lib.mkEnableOption "KDE Connect";
|
||||||
|
|
||||||
|
config.services.kdeconnect = lib.mkIf config.kdeconnect.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
indicator = true;
|
indicator = true;
|
||||||
package = pkgs.kdePackages.kdeconnect-kde;
|
package = pkgs.kdePackages.kdeconnect-kde;
|
||||||
|
|||||||
@@ -1,76 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.kitty;
|
|
||||||
settings = {
|
|
||||||
font_size = 12;
|
|
||||||
wheel_scroll_min_lines = 1;
|
|
||||||
window_padding_width = 4;
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
scrollback_lines = 10000;
|
|
||||||
enable_audio_bell = false;
|
|
||||||
mouse_hide_wait = 60;
|
|
||||||
cursor_trail = 1;
|
|
||||||
tab_fade = 1;
|
|
||||||
active_tab_font_style = "bold";
|
|
||||||
inactive_tab_font_style = "bold";
|
|
||||||
tab_bar_edge = "top";
|
|
||||||
tab_bar_margin_width = 0;
|
|
||||||
tab_bar_style = "powerline";
|
|
||||||
#tab_bar_style = "fade";
|
|
||||||
enabled_layouts = "splits";
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
|
|
||||||
# Clipboard
|
|
||||||
map ctrl+shift+v paste_from_selection
|
|
||||||
map shift+insert paste_from_selection
|
|
||||||
|
|
||||||
# Scrolling
|
|
||||||
map ctrl+shift+up scroll_line_up
|
|
||||||
map ctrl+shift+down scroll_line_down
|
|
||||||
map ctrl+shift+k scroll_line_up
|
|
||||||
map ctrl+shift+j scroll_line_down
|
|
||||||
map ctrl+shift+page_up scroll_page_up
|
|
||||||
map ctrl+shift+page_down scroll_page_down
|
|
||||||
map ctrl+shift+home scroll_home
|
|
||||||
map ctrl+shift+end scroll_end
|
|
||||||
map ctrl+shift+h show_scrollback
|
|
||||||
|
|
||||||
# Window management
|
|
||||||
map alt+n new_window_with_cwd #open in current dir
|
|
||||||
#map alt+n new_os_window #opens term in $HOME
|
|
||||||
map alt+w close_window
|
|
||||||
map ctrl+shift+enter launch --location=hsplit
|
|
||||||
map ctrl+shift+s launch --location=vsplit
|
|
||||||
map ctrl+shift+] next_window
|
|
||||||
map ctrl+shift+[ previous_window
|
|
||||||
map ctrl+shift+f move_window_forward
|
|
||||||
map ctrl+shift+b move_window_backward
|
|
||||||
map ctrl+shift+` move_window_to_top
|
|
||||||
map ctrl+shift+1 first_window
|
|
||||||
map ctrl+shift+2 second_window
|
|
||||||
map ctrl+shift+3 third_window
|
|
||||||
map ctrl+shift+4 fourth_window
|
|
||||||
map ctrl+shift+5 fifth_window
|
|
||||||
map ctrl+shift+6 sixth_window
|
|
||||||
map ctrl+shift+7 seventh_window
|
|
||||||
map ctrl+shift+8 eighth_window
|
|
||||||
map ctrl+shift+9 ninth_window # Tab management
|
|
||||||
map ctrl+shift+0 tenth_window
|
|
||||||
map ctrl+shift+right next_tab
|
|
||||||
map ctrl+shift+left previous_tab
|
|
||||||
map ctrl+shift+t new_tab
|
|
||||||
map ctrl+shift+q close_tab
|
|
||||||
map ctrl+shift+l next_layout
|
|
||||||
map ctrl+shift+. move_tab_forward
|
|
||||||
map ctrl+shift+, move_tab_backward
|
|
||||||
|
|
||||||
# Miscellaneous
|
|
||||||
map ctrl+shift+up increase_font_size
|
|
||||||
map ctrl+shift+down decrease_font_size
|
|
||||||
map ctrl+shift+backspace restore_font_size
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
11
modules/home/kitty/default.nix
Normal file
11
modules/home/kitty/default.nix
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{pkgs, ...}: {
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.kitty;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./extra-config.nix
|
||||||
|
./settings.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
52
modules/home/kitty/extra-config.nix
Normal file
52
modules/home/kitty/extra-config.nix
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
_: {
|
||||||
|
programs.kitty.extraConfig = ''
|
||||||
|
# Clipboard
|
||||||
|
map ctrl+shift+v paste_from_selection
|
||||||
|
map shift+insert paste_from_selection
|
||||||
|
|
||||||
|
# Scrolling
|
||||||
|
map ctrl+shift+up scroll_line_up
|
||||||
|
map ctrl+shift+down scroll_line_down
|
||||||
|
map ctrl+shift+k scroll_line_up
|
||||||
|
map ctrl+shift+j scroll_line_down
|
||||||
|
map ctrl+shift+page_up scroll_page_up
|
||||||
|
map ctrl+shift+page_down scroll_page_down
|
||||||
|
map ctrl+shift+home scroll_home
|
||||||
|
map ctrl+shift+end scroll_end
|
||||||
|
map ctrl+shift+h show_scrollback
|
||||||
|
|
||||||
|
# Window management
|
||||||
|
map alt+n new_window_with_cwd #open in current dir
|
||||||
|
#map alt+n new_os_window #opens term in $HOME
|
||||||
|
map alt+w close_window
|
||||||
|
map ctrl+shift+enter launch --location=hsplit
|
||||||
|
map ctrl+shift+s launch --location=vsplit
|
||||||
|
map ctrl+shift+] next_window
|
||||||
|
map ctrl+shift+[ previous_window
|
||||||
|
map ctrl+shift+f move_window_forward
|
||||||
|
map ctrl+shift+b move_window_backward
|
||||||
|
map ctrl+shift+` move_window_to_top
|
||||||
|
map ctrl+shift+1 first_window
|
||||||
|
map ctrl+shift+2 second_window
|
||||||
|
map ctrl+shift+3 third_window
|
||||||
|
map ctrl+shift+4 fourth_window
|
||||||
|
map ctrl+shift+5 fifth_window
|
||||||
|
map ctrl+shift+6 sixth_window
|
||||||
|
map ctrl+shift+7 seventh_window
|
||||||
|
map ctrl+shift+8 eighth_window
|
||||||
|
map ctrl+shift+9 ninth_window # Tab management
|
||||||
|
map ctrl+shift+0 tenth_window
|
||||||
|
map ctrl+shift+right next_tab
|
||||||
|
map ctrl+shift+left previous_tab
|
||||||
|
map ctrl+shift+t new_tab
|
||||||
|
map ctrl+shift+q close_tab
|
||||||
|
map ctrl+shift+l next_layout
|
||||||
|
map ctrl+shift+. move_tab_forward
|
||||||
|
map ctrl+shift+, move_tab_backward
|
||||||
|
|
||||||
|
# Miscellaneous
|
||||||
|
map ctrl+shift+up increase_font_size
|
||||||
|
map ctrl+shift+down decrease_font_size
|
||||||
|
map ctrl+shift+backspace restore_font_size
|
||||||
|
'';
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user