Compare commits
30 Commits
1a756d60e8
...
dendritic-
| Author | SHA1 | Date | |
|---|---|---|---|
| dff9e94470 | |||
| 92dba21fd8 | |||
| 5edd43b802 | |||
| a435b7d0cc | |||
| 38f618f8c7 | |||
| 7f01bed179 | |||
| 3e6c55ebcb | |||
| 4ef866927d | |||
| 7da6280a1e | |||
| 60d1363f58 | |||
| f2628ed320 | |||
| c3517a0f7f | |||
| 380b774ee3 | |||
| cfc4e49f16 | |||
| e5bfd117b4 | |||
| 68ed6d035e | |||
| c41e664a6b | |||
| c78292ac67 | |||
| 88b161347d | |||
| a751485bf0 | |||
| e2d9522d89 | |||
| 53f787d6c8 | |||
| 45ed10b1ec | |||
| 041be371e5 | |||
| e32b7ce0a5 | |||
| 62160ebcf0 | |||
| 276d64816b | |||
| 743bec0bae | |||
| 881faf7aac | |||
| cb8eacf322 |
746
flake.lock
generated
746
flake.lock
generated
@@ -1,746 +0,0 @@
|
|||||||
{
|
|
||||||
"nodes": {
|
|
||||||
"affinity-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"elemental-wine-source": "elemental-wine-source",
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-wine": "nixpkgs-wine",
|
|
||||||
"on-linux": "on-linux",
|
|
||||||
"plugin-loader": "plugin-loader",
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767916874,
|
|
||||||
"narHash": "sha256-IcvLwoF1CIOd7yELc0Xwqskilw2FxHHRm5ZnmNdBuKc=",
|
|
||||||
"owner": "mrshmllow",
|
|
||||||
"repo": "affinity-nix",
|
|
||||||
"rev": "0c110a15fb5605490f7de451073db1c775745fee",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "mrshmllow",
|
|
||||||
"repo": "affinity-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16": {
|
|
||||||
"inputs": {
|
|
||||||
"fromYaml": "fromYaml"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1755819240,
|
|
||||||
"narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-fish": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765809053,
|
|
||||||
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-helix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1760703920,
|
|
||||||
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-vim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732806396,
|
|
||||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"elemental-wine-source": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"host": "gitlab.winehq.org",
|
|
||||||
"lastModified": 1722747031,
|
|
||||||
"narHash": "sha256-XVhz9p2kgFBoJ376vg8OaFXxcMEjAe9AK1hk0I1rb1Q=",
|
|
||||||
"owner": "ElementalWarrior",
|
|
||||||
"repo": "wine",
|
|
||||||
"rev": "a7c9b19e1a26cf49c63a7c19189a3e2bbe2c6ac2",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"host": "gitlab.winehq.org",
|
|
||||||
"owner": "ElementalWarrior",
|
|
||||||
"ref": "affinity-photo3-wine9.13-part3",
|
|
||||||
"repo": "wine",
|
|
||||||
"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": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"dir": "pkgs/firefox-addons",
|
|
||||||
"lastModified": 1769918637,
|
|
||||||
"narHash": "sha256-3XyGk89S0UFvKRZiKpFL4ImP5qP/2AOJUaYC7ogXnJo=",
|
|
||||||
"owner": "rycee",
|
|
||||||
"repo": "nur-expressions",
|
|
||||||
"rev": "5659e4c18d1350d1b511fcdce885fdd879effa22",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"dir": "pkgs/firefox-addons",
|
|
||||||
"owner": "rycee",
|
|
||||||
"repo": "nur-expressions",
|
|
||||||
"type": "gitlab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefox-gnome-theme": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1764873433,
|
|
||||||
"narHash": "sha256-1XPewtGMi+9wN9Ispoluxunw/RwozuTRVuuQOmxzt+A=",
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"rev": "f7ffd917ac0d253dbd6a3bf3da06888f57c69f92",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751685974,
|
|
||||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
|
||||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/flake-compat/archive/549f2762aebeff29a2e5ece7a7dc0f955281a1d1.tar.gz?rev=549f2762aebeff29a2e5ece7a7dc0f955281a1d1"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/flake-compat/archive/main.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_2": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767039857,
|
|
||||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767609335,
|
|
||||||
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767609335,
|
|
||||||
"narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "250481aafeb741edfe23d29195671c19b36b6dca",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731966426,
|
|
||||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"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": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767281941,
|
|
||||||
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"host": "gitlab.gnome.org",
|
|
||||||
"lastModified": 1767737596,
|
|
||||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
|
||||||
"owner": "GNOME",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"host": "gitlab.gnome.org",
|
|
||||||
"owner": "GNOME",
|
|
||||||
"ref": "gnome-49",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"type": "gitlab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769952507,
|
|
||||||
"narHash": "sha256-eNTfxT3v8b7s1dqswgposi5Y1CUMoOUhQKiy29QY25U=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "b59376563943ce163b2553aeb63d0c170967d74e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"libnbtplusplus": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1744811532,
|
|
||||||
"narHash": "sha256-qhmjaRkt+O7A+gu6HjUkl7QzOEb4r8y8vWZMG2R/C6o=",
|
|
||||||
"owner": "PrismLauncher",
|
|
||||||
"repo": "libnbtplusplus",
|
|
||||||
"rev": "531449ba1c930c98e0bcf5d332b237a8566f9d78",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "PrismLauncher",
|
|
||||||
"repo": "libnbtplusplus",
|
|
||||||
"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": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767983141,
|
|
||||||
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
|
|
||||||
"owner": "gmodena",
|
|
||||||
"repo": "nix-flatpak",
|
|
||||||
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "gmodena",
|
|
||||||
"ref": "latest",
|
|
||||||
"repo": "nix-flatpak",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769789167,
|
|
||||||
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1765674936,
|
|
||||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-wine": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735834308,
|
|
||||||
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"noctalia": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769983098,
|
|
||||||
"narHash": "sha256-PKej3N1BxAoKzusrdWuS9gT8bXW0U/Zk8RkedsP3qYc=",
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-shell",
|
|
||||||
"rev": "2a98d04b2f5e251935ba296c0d7dc374bdc5e32d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "noctalia-dev",
|
|
||||||
"repo": "noctalia-shell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": [
|
|
||||||
"stylix",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767810917,
|
|
||||||
"narHash": "sha256-ZKqhk772+v/bujjhla9VABwcvz+hB2IaRyeLT6CFnT0=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "dead29c804adc928d3a69dfe7f9f12d0eec1f1a4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"on-linux": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1766544016,
|
|
||||||
"narHash": "sha256-3X1426N7n6bwM7GAQOvpCq2OVdlQevCzbpak0l9B6BU=",
|
|
||||||
"owner": "seapear",
|
|
||||||
"repo": "AffinityOnLinux",
|
|
||||||
"rev": "da601564dfefe2ae3ec10e3f177db81578847b7b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "seapear",
|
|
||||||
"repo": "AffinityOnLinux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"plugin-loader": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"narHash": "sha256-mixBa/xIfSIrSS3+bGqznXxSE6h8s7e2xoJM2g4eXhg=",
|
|
||||||
"type": "file",
|
|
||||||
"url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.2.0/affinitypluginloader-plus-winefix.tar.xz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "file",
|
|
||||||
"url": "https://github.com/noahc3/AffinityPluginLoader/releases/download/v0.2.0/affinitypluginloader-plus-winefix.tar.xz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"prismlauncher-cracked": {
|
|
||||||
"inputs": {
|
|
||||||
"libnbtplusplus": "libnbtplusplus",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1768437816,
|
|
||||||
"narHash": "sha256-GG+V2g5NfVrypTs8qbtGnUWTXTMkGtohy/uIDa5duI0=",
|
|
||||||
"owner": "Diegiwg",
|
|
||||||
"repo": "PrismLauncher-Cracked",
|
|
||||||
"rev": "e8418b74059bdbe4fcc97522b25dc17373b0cc21",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Diegiwg",
|
|
||||||
"repo": "PrismLauncher-Cracked",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
|
||||||
"inputs": {
|
|
||||||
"affinity-nix": "affinity-nix",
|
|
||||||
"firefox-addons": "firefox-addons",
|
|
||||||
"garandos-tui": "garandos-tui",
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"nix-flatpak": "nix-flatpak",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"noctalia": "noctalia",
|
|
||||||
"prismlauncher-cracked": "prismlauncher-cracked",
|
|
||||||
"stylix": "stylix"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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": {
|
|
||||||
"inputs": {
|
|
||||||
"base16": "base16",
|
|
||||||
"base16-fish": "base16-fish",
|
|
||||||
"base16-helix": "base16-helix",
|
|
||||||
"base16-vim": "base16-vim",
|
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"gnome-shell": "gnome-shell",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nur": "nur",
|
|
||||||
"systems": "systems",
|
|
||||||
"tinted-foot": "tinted-foot",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
|
||||||
"tinted-schemes": "tinted-schemes",
|
|
||||||
"tinted-tmux": "tinted-tmux",
|
|
||||||
"tinted-zed": "tinted-zed"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1769888473,
|
|
||||||
"narHash": "sha256-4KWbaJwaYnZ60bFyTudZYAKskjr7Sa17R3/yh+oXS7w=",
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"rev": "ae5c0239ae4f82a8c7e33ad8a456535d5a9ba813",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726913040,
|
|
||||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735730497,
|
|
||||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-schemes": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767710407,
|
|
||||||
"narHash": "sha256-+W1EB79Jl0/gm4JqmO0Nuc5C7hRdp4vfsV/VdzI+des=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "2800e2b8ac90f678d7e4acebe4fa253f602e05b2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-tmux": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767489635,
|
|
||||||
"narHash": "sha256-e6nnFnWXKBCJjCv4QG4bbcouJ6y3yeT70V9MofL32lU=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"rev": "3c32729ccae99be44fe8a125d20be06f8d7d8184",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-zed": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767488740,
|
|
||||||
"narHash": "sha256-wVOj0qyil8m+ouSsVZcNjl5ZR+1GdOOAooAatQXHbuU=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"rev": "11abb0b282ad3786a2aae088d3a01c60916f2e40",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1767801790,
|
|
||||||
"narHash": "sha256-QfX6g3Wj2vQe7oBJEbTf0npvC6sJoDbF9hb2+gM5tf8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "778a1d691f1ef45dd68c661715c5bf8cbf131c80",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": "root",
|
|
||||||
"version": 7
|
|
||||||
}
|
|
||||||
93
flake.nix
93
flake.nix
@@ -1,94 +1,15 @@
|
|||||||
{
|
{
|
||||||
description = "GarandOS";
|
description = "GarandOS flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
url = "github:nix-community/home-manager/master";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
import-tree.url = "github:vic/import-tree";
|
||||||
};
|
};
|
||||||
|
|
||||||
stylix = {
|
outputs = inputs: inputs.flake-parts.lib.mkFlake {
|
||||||
url = "github:danth/stylix";
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
|
|
||||||
nur.inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
flake-parts.follows = "stylix/flake-parts";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
noctalia = {
|
|
||||||
url = "github:noctalia-dev/noctalia-shell";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox-addons = {
|
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
prismlauncher-cracked = {
|
|
||||||
url = "github:Diegiwg/PrismLauncher-Cracked";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
affinity-nix = {
|
|
||||||
url = "github:mrshmllow/affinity-nix";
|
|
||||||
inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
git-hooks.inputs = {
|
|
||||||
nixpkgs.follows = "nixpkgs";
|
|
||||||
gitignore.inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = {
|
|
||||||
nixpkgs,
|
|
||||||
nix-flatpak,
|
|
||||||
garandos-tui,
|
|
||||||
...
|
|
||||||
} @ inputs: let
|
|
||||||
hostDirs = builtins.attrNames (builtins.readDir ./hosts);
|
|
||||||
|
|
||||||
mkHost = hostName: let
|
|
||||||
inherit
|
|
||||||
(import ./hosts/${hostName}/variables.nix)
|
|
||||||
host
|
|
||||||
username
|
|
||||||
profile
|
|
||||||
system
|
|
||||||
;
|
|
||||||
in
|
|
||||||
nixpkgs.lib.nixosSystem {
|
|
||||||
inherit system;
|
|
||||||
specialArgs = {
|
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
inherit username;
|
} (inputs.import-tree ./src);
|
||||||
inherit host;
|
|
||||||
inherit profile;
|
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
./profiles/${profile}
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
garandos-tui.nixosModules.garandos-tui
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
nixosConfigurations = nixpkgs.lib.genAttrs hostDirs mkHost;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./hardware.nix
|
|
||||||
./host-packages.nix
|
|
||||||
./system-modules.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"usbhid"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
kernelModules = ["dm-snapshot"];
|
|
||||||
luks.devices = {
|
|
||||||
cryptroot = {
|
|
||||||
device = "/dev/disk/by-uuid/7c018698-d35c-4ee6-92a8-5e4edf914065";
|
|
||||||
preLVM = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kernelModules = ["kvm-amd"];
|
|
||||||
extraModulePackages = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/e3ac1df3-ce8f-44cd-901f-a8cd3f6955b7";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/0713b82c-bf8c-424f-96e1-5d883e50b451";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/783D-A507";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = lib.mkForce [
|
|
||||||
{
|
|
||||||
device = "/dev/disk/by-uuid/8e8cc3dc-5754-4757-a2d7-53e6a2c3b5a4";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
/*
|
|
||||||
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 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# audacity
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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,62 +0,0 @@
|
|||||||
{
|
|
||||||
# CPU Architecture
|
|
||||||
# Available options: "x86_64-linux", "aarch64-linux", etc.
|
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
# Host Configuration
|
|
||||||
host = "Garand-Desktop";
|
|
||||||
username = "garand_plg";
|
|
||||||
|
|
||||||
# GPU Profile
|
|
||||||
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
|
|
||||||
profile = "nvidia";
|
|
||||||
|
|
||||||
# Git Configuration ( For Pulling Software Repos )
|
|
||||||
gitUsername = "GarandPLG";
|
|
||||||
gitEmail = "garandplg@garandplg.com";
|
|
||||||
|
|
||||||
# Hyprland Settings
|
|
||||||
# Examples:
|
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
|
||||||
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
|
|
||||||
# You can configure multiple monitors.
|
|
||||||
# Inside the quotes, create a new line for each monitor.
|
|
||||||
extraMonitorSettings = "monitor = DP-1,1920x1080@144,auto,1";
|
|
||||||
|
|
||||||
keyboardLayout = "pl";
|
|
||||||
consoleKeyMap = "pl";
|
|
||||||
|
|
||||||
location = "Żywiec, PL";
|
|
||||||
|
|
||||||
# For Nvidia Prime support
|
|
||||||
intelID = "PCI:1:0:0";
|
|
||||||
nvidiaID = "PCI:0:2:0";
|
|
||||||
|
|
||||||
# Enable NFS
|
|
||||||
enableNFS = true;
|
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = true;
|
|
||||||
|
|
||||||
# Set Stylix Image
|
|
||||||
# This will set your color palette
|
|
||||||
# Default background
|
|
||||||
# Add new images to ~/garandos/wallpapers
|
|
||||||
stylixImage = "attack-on-titan-mikasa-ackerman.jpg";
|
|
||||||
#stylixImage = "DW_Pacts.jpg";
|
|
||||||
#stylixImage = "edward-elric-fullmetal-alchemist.jpg";
|
|
||||||
#stylixImage = "fire-nation.jpg";
|
|
||||||
#stylixImage = "four-elements.jpg";
|
|
||||||
#stylixImage = "fullmetal-alchemist-5120x2880-10399.png";
|
|
||||||
#stylixImage = "Grounded_Wallpaper_4K.jpg";
|
|
||||||
#stylixImage = "jablon.jpg";
|
|
||||||
#stylixImage = "rammstein-log-two.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-one.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-three.jpg";
|
|
||||||
#stylixImage = "rammstein-one.jpg";
|
|
||||||
#stylixImage = "1346530.jpeg";
|
|
||||||
|
|
||||||
# Set network hostId if required (needed for zfs)
|
|
||||||
# Otherwise leave as-is
|
|
||||||
hostId = "5ab03f50";
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./hardware.nix
|
|
||||||
./host-packages.nix
|
|
||||||
./system-modules.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [
|
|
||||||
"nvme"
|
|
||||||
"xhci_pci"
|
|
||||||
"usb_storage"
|
|
||||||
"sd_mod"
|
|
||||||
];
|
|
||||||
kernelModules = ["dm-snapshot"];
|
|
||||||
luks.devices.cryptroot = {
|
|
||||||
device = "/dev/disk/by-uuid/6abc2228-823e-42b0-94c7-48fda757732c";
|
|
||||||
preLVM = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kernelModules = ["kvm-amd"];
|
|
||||||
extraModulePackages = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/d30939d0-53ed-4728-9190-6a5b9dec8fb4";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/home" = {
|
|
||||||
device = "/dev/disk/by-uuid/3df34a25-7e42-433d-b723-be80f1738ba5";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/0E68-9A34";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0022"
|
|
||||||
"dmask=0022"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [
|
|
||||||
{device = "/dev/disk/by-uuid/5da7c845-7dd3-4882-93af-2d679cdb5e7a";}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
/*
|
|
||||||
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 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# audacity
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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,62 +0,0 @@
|
|||||||
{
|
|
||||||
# CPU Architecture
|
|
||||||
# Available options: "x86_64-linux", "aarch64-linux", etc.
|
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
# Host Configuration
|
|
||||||
host = "Garand-Laptop";
|
|
||||||
username = "garand_plg";
|
|
||||||
|
|
||||||
# GPU Profile
|
|
||||||
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
|
|
||||||
profile = "amd";
|
|
||||||
|
|
||||||
# Git Configuration ( For Pulling Software Repos )
|
|
||||||
gitUsername = "GarandPLG";
|
|
||||||
gitEmail = "garandplg@garandplg.com";
|
|
||||||
|
|
||||||
# Hyprland Settings
|
|
||||||
# Examples:
|
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
|
||||||
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
|
|
||||||
# You can configure multiple monitors.
|
|
||||||
# Inside the quotes, create a new line for each monitor.
|
|
||||||
extraMonitorSettings = "monitor = eDP-1,1920x1080@60,auto,1";
|
|
||||||
|
|
||||||
keyboardLayout = "pl";
|
|
||||||
consoleKeyMap = "pl";
|
|
||||||
|
|
||||||
location = "Żywiec, PL";
|
|
||||||
|
|
||||||
# For Nvidia Prime support
|
|
||||||
intelID = "PCI:1:0:0";
|
|
||||||
nvidiaID = "PCI:0:2:0";
|
|
||||||
|
|
||||||
# Enable NFS
|
|
||||||
enableNFS = true;
|
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = false;
|
|
||||||
|
|
||||||
# Set Stylix Image
|
|
||||||
# This will set your color palette
|
|
||||||
# Default background
|
|
||||||
# Add new images to ~/garandos/wallpapers
|
|
||||||
stylixImage = "attack-on-titan-mikasa-ackerman.jpg";
|
|
||||||
#stylixImage = "DW_Pacts.jpg";
|
|
||||||
#stylixImage = "edward-elric-fullmetal-alchemist.jpg";
|
|
||||||
#stylixImage = "fire-nation.jpg";
|
|
||||||
#stylixImage = "four-elements.jpg";
|
|
||||||
#stylixImage = "fullmetal-alchemist-5120x2880-10399.png";
|
|
||||||
#stylixImage = "Grounded_Wallpaper_4K.jpg";
|
|
||||||
#stylixImage = "jablon.jpg";
|
|
||||||
#stylixImage = "rammstein-log-two.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-one.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-three.jpg";
|
|
||||||
#stylixImage = "rammstein-one.jpg";
|
|
||||||
#stylixImage = "1346530.jpeg";
|
|
||||||
|
|
||||||
# Set network hostId if required (needed for zfs)
|
|
||||||
# Otherwise leave as-is
|
|
||||||
hostId = "7bc04e61";
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./hardware.nix
|
|
||||||
./host-packages.nix
|
|
||||||
./system-modules.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
modulesPath,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
|
||||||
(modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [
|
|
||||||
"xhci_pci"
|
|
||||||
"ahci"
|
|
||||||
"nvme"
|
|
||||||
"usbhid"
|
|
||||||
];
|
|
||||||
boot.initrd.kernelModules = [];
|
|
||||||
boot.kernelModules = ["kvm-intel"];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
|
||||||
device = "/dev/disk/by-uuid/dd005850-6230-40c4-9d70-8c8cf443658d";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-b7565781-148e-4c94-9c76-36c84dd93dc8".device = "/dev/disk/by-uuid/b7565781-148e-4c94-9c76-36c84dd93dc8";
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/C2A6-DF56";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [
|
|
||||||
"fmask=0077"
|
|
||||||
"dmask=0077"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = lib.mkForce [
|
|
||||||
{
|
|
||||||
device = "/dev/vg0/swap";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.docker0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.eno2.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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
|
|
||||||
|
|
||||||
/*
|
|
||||||
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 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
# audacity
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,90 +0,0 @@
|
|||||||
_: {
|
|
||||||
/*
|
|
||||||
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,68 +0,0 @@
|
|||||||
{
|
|
||||||
# CPU Architecture
|
|
||||||
# Available options: "x86_64-linux", "aarch64-linux", etc.
|
|
||||||
system = "x86_64-linux";
|
|
||||||
|
|
||||||
# Host Configuration
|
|
||||||
host = "My-Desktop";
|
|
||||||
username = "my_username";
|
|
||||||
|
|
||||||
# GPU Profile
|
|
||||||
# Available options: "amd", "nvidia", "nvidia-laptop", "intel", "vm"
|
|
||||||
profile = "nvidia";
|
|
||||||
|
|
||||||
# Git Configuration ( For Pulling Software Repos )
|
|
||||||
gitUsername = "GarandPLG";
|
|
||||||
gitEmail = "my@email.com";
|
|
||||||
|
|
||||||
# Hyprland Settings
|
|
||||||
# Examples:
|
|
||||||
# extraMonitorSettings = "monitor = Virtual-1,1920x1080@60,auto,1";
|
|
||||||
# extraMonitorSettings = "monitor = HDMI-A-1,1920x1080@60,auto,1";
|
|
||||||
# You can configure multiple monitors.
|
|
||||||
# Inside the quotes, create a new line for each monitor.
|
|
||||||
extraMonitorSettings = "
|
|
||||||
|
|
||||||
";
|
|
||||||
|
|
||||||
keyboardLayout = "pl";
|
|
||||||
consoleKeyMap = "pl";
|
|
||||||
|
|
||||||
location = "Warszawa, PL";
|
|
||||||
|
|
||||||
# For Nvidia Prime support
|
|
||||||
intelID = "PCI:1:0:0";
|
|
||||||
nvidiaID = "PCI:0:2:0";
|
|
||||||
|
|
||||||
# Enable NFS
|
|
||||||
enableNFS = true;
|
|
||||||
|
|
||||||
# Enable Printing Support
|
|
||||||
printEnable = false;
|
|
||||||
|
|
||||||
# Themes, waybar and animation.
|
|
||||||
# Only uncomment your selection
|
|
||||||
# The others much be commented out.
|
|
||||||
|
|
||||||
# Set Stylix Image
|
|
||||||
# This will set your color palette
|
|
||||||
# Default background
|
|
||||||
# Add new images to ~/garandos/wallpapers
|
|
||||||
stylixImage = "attack-on-titan-mikasa-ackerman.jpg";
|
|
||||||
#stylixImage = "DW_Pacts.jpg";
|
|
||||||
#stylixImage = "edward-elric-fullmetal-alchemist.jpg";
|
|
||||||
#stylixImage = "fire-nation.jpg";
|
|
||||||
#stylixImage = "four-elements.jpg";
|
|
||||||
#stylixImage = "fullmetal-alchemist-5120x2880-10399.png";
|
|
||||||
#stylixImage = "Grounded_Wallpaper_4K.jpg";
|
|
||||||
#stylixImage = "jablon.jpg";
|
|
||||||
#stylixImage = "rammstein-log-two.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-one.jpg";
|
|
||||||
#stylixImage = "rammstein-logo-three.jpg";
|
|
||||||
#stylixImage = "rammstein-one.jpg";
|
|
||||||
#stylixImage = "1346530.jpeg";
|
|
||||||
|
|
||||||
# Set network hostId if required (needed for zfs)
|
|
||||||
# Otherwise leave as-is
|
|
||||||
hostId = "5ab03f50";
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
boot = {
|
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
|
||||||
kernelModules = ["v4l2loopback"];
|
|
||||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
|
||||||
kernel.sysctl = {
|
|
||||||
"vm.max_map_count" = 2147483642;
|
|
||||||
};
|
|
||||||
loader = {
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
limine = {
|
|
||||||
enable = true;
|
|
||||||
style = {
|
|
||||||
wallpapers = [
|
|
||||||
./../../wallpapers/attack-on-titan-mikasa-ackerman.jpg
|
|
||||||
];
|
|
||||||
wallpaperStyle = lib.mkForce "centered";
|
|
||||||
backdrop = "${config.stylix.base16Scheme.base00}";
|
|
||||||
interface = {
|
|
||||||
branding = "GarandOS Bootloader";
|
|
||||||
resolution = "1920x1080";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
# Appimage Support
|
|
||||||
binfmt.registrations.appimage = {
|
|
||||||
wrapInterpreterInShell = false;
|
|
||||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
|
||||||
recognitionType = "magic";
|
|
||||||
offset = 0;
|
|
||||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
|
||||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
|
||||||
};
|
|
||||||
plymouth.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{inputs, ...}: {
|
|
||||||
imports = [
|
|
||||||
./packages
|
|
||||||
./boot.nix
|
|
||||||
./docker.nix
|
|
||||||
./flatpak.nix
|
|
||||||
./fonts.nix
|
|
||||||
./garandos-tui.nix
|
|
||||||
./hardware.nix
|
|
||||||
./network.nix
|
|
||||||
./nfs.nix
|
|
||||||
./nh.nix
|
|
||||||
./printing.nix
|
|
||||||
./quickshell.nix
|
|
||||||
./greetd.nix
|
|
||||||
./security.nix
|
|
||||||
./services.nix
|
|
||||||
./steam.nix
|
|
||||||
./stylix.nix
|
|
||||||
./syncthing.nix
|
|
||||||
./system.nix
|
|
||||||
./tailscale.nix
|
|
||||||
./thunar.nix
|
|
||||||
./user.nix
|
|
||||||
./virtualbox.nix
|
|
||||||
./xdg.nix
|
|
||||||
./xserver.nix
|
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
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,28 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
mkFlatpakPackage = name: pkgId: {
|
|
||||||
options.flatpak.packages.${name}.enable = lib.mkEnableOption "Flatpak: ${name}";
|
|
||||||
|
|
||||||
config.services.flatpak.packages =
|
|
||||||
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,29 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
fonts = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
dejavu_fonts
|
|
||||||
fira-code
|
|
||||||
fira-code-symbols
|
|
||||||
font-awesome
|
|
||||||
hackgen-nf-font
|
|
||||||
ibm-plex
|
|
||||||
inter
|
|
||||||
jetbrains-mono
|
|
||||||
material-icons
|
|
||||||
maple-mono.NF
|
|
||||||
minecraftia
|
|
||||||
nerd-fonts.im-writing
|
|
||||||
nerd-fonts.blex-mono
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-color-emoji
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
noto-fonts-cjk-serif
|
|
||||||
noto-fonts-monochrome-emoji
|
|
||||||
powerline-fonts
|
|
||||||
roboto
|
|
||||||
roboto-mono
|
|
||||||
#symbola
|
|
||||||
terminus_font
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
#vt = 3;
|
|
||||||
settings = {
|
|
||||||
default_session = {
|
|
||||||
user = username;
|
|
||||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
hardware = {
|
|
||||||
sane = {
|
|
||||||
enable = true;
|
|
||||||
extraBackends = [pkgs.sane-airscan];
|
|
||||||
disabledDefaultBackends = ["escl"];
|
|
||||||
};
|
|
||||||
logitech.wireless = {
|
|
||||||
enable = false;
|
|
||||||
enableGraphical = false;
|
|
||||||
};
|
|
||||||
graphics.enable = true;
|
|
||||||
enableRedistributableFirmware = true;
|
|
||||||
keyboard.qmk.enable = true;
|
|
||||||
bluetooth = {
|
|
||||||
enable = true;
|
|
||||||
powerOnBoot = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
local.hardware-clock.enable = false;
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{
|
|
||||||
host,
|
|
||||||
options,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) hostId;
|
|
||||||
in {
|
|
||||||
# Defensive assertion for hostname validity (clearer message at eval time)
|
|
||||||
assertions = [
|
|
||||||
{
|
|
||||||
assertion = builtins.match "^[[:alnum:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$" host != null;
|
|
||||||
message = "Invalid hostname '${host}'. Must be 1-63 chars, start/end alphanumeric; allowed middle chars: letters, digits, '-' or '_'.";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
hostName = "${host}";
|
|
||||||
hostId = hostId;
|
|
||||||
networkmanager.enable = true;
|
|
||||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedTCPPorts = [
|
|
||||||
22
|
|
||||||
80
|
|
||||||
443
|
|
||||||
59010
|
|
||||||
59011
|
|
||||||
8080
|
|
||||||
];
|
|
||||||
allowedUDPPorts = [
|
|
||||||
59010
|
|
||||||
59011
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{host, ...}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) enableNFS;
|
|
||||||
in {
|
|
||||||
services = {
|
|
||||||
rpcbind.enable = enableNFS;
|
|
||||||
nfs.server.enable = enableNFS;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{username, ...}: {
|
|
||||||
programs.nh = {
|
|
||||||
enable = true;
|
|
||||||
clean = {
|
|
||||||
enable = true;
|
|
||||||
extraArgs = "--keep-since 7d --keep 5";
|
|
||||||
};
|
|
||||||
flake = "/home/${username}/garandos";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
_: {
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
imports = [
|
|
||||||
./essentials.nix
|
|
||||||
./packages.nix
|
|
||||||
./programs.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
mpv
|
|
||||||
pavucontrol
|
|
||||||
playerctl
|
|
||||||
cmatrix
|
|
||||||
cowsay
|
|
||||||
sl
|
|
||||||
fortune
|
|
||||||
# File management
|
|
||||||
trash-cli
|
|
||||||
file-roller
|
|
||||||
unrar
|
|
||||||
unzip
|
|
||||||
p7zip
|
|
||||||
# System monitoring & info
|
|
||||||
inxi
|
|
||||||
lm_sensors
|
|
||||||
lshw
|
|
||||||
pciutils
|
|
||||||
usbutils
|
|
||||||
mesa-demos
|
|
||||||
nix-output-monitor
|
|
||||||
nvd
|
|
||||||
onefetch
|
|
||||||
# Disk utilities
|
|
||||||
duf
|
|
||||||
dysk
|
|
||||||
ncdu
|
|
||||||
# Network & system utilities
|
|
||||||
ripgrep
|
|
||||||
wget
|
|
||||||
socat
|
|
||||||
ookla-speedtest
|
|
||||||
brightnessctl
|
|
||||||
killall
|
|
||||||
dex
|
|
||||||
# Desktop environment
|
|
||||||
networkmanagerapplet
|
|
||||||
tuigreet
|
|
||||||
nwg-displays
|
|
||||||
waypaper
|
|
||||||
uwsm
|
|
||||||
hyprpicker
|
|
||||||
cliphist
|
|
||||||
# Development utilities
|
|
||||||
pkg-config
|
|
||||||
appimage-run
|
|
||||||
libnotify
|
|
||||||
v4l-utils
|
|
||||||
tasktimer
|
|
||||||
# Language dicts for Iotas
|
|
||||||
hunspell
|
|
||||||
hunspellDicts.pl_PL
|
|
||||||
hunspellDicts.en_US
|
|
||||||
# Noctalia Shell Dependencies
|
|
||||||
matugen
|
|
||||||
app2unit
|
|
||||||
gpu-screen-recorder
|
|
||||||
# hyprland
|
|
||||||
swww
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
swappy
|
|
||||||
ydotool
|
|
||||||
hyprpolkitagent
|
|
||||||
hyprland-qtutils # needed for banners and ANR messages
|
|
||||||
# pyprland
|
|
||||||
pyprland
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
{
|
|
||||||
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,23 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs = {
|
|
||||||
nano.enable = true;
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
withUWSM = false;
|
|
||||||
};
|
|
||||||
dconf.enable = true;
|
|
||||||
seahorse.enable = true;
|
|
||||||
fuse.userAllowOther = true;
|
|
||||||
mtr.enable = true;
|
|
||||||
gnupg.agent = {
|
|
||||||
enable = true;
|
|
||||||
enableSSHSupport = true;
|
|
||||||
};
|
|
||||||
nix-ld = {
|
|
||||||
enable = true;
|
|
||||||
# libraries = with pkgs; [
|
|
||||||
# biome
|
|
||||||
# ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{host, ...}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) printEnable;
|
|
||||||
in {
|
|
||||||
services = {
|
|
||||||
printing = {
|
|
||||||
enable = printEnable;
|
|
||||||
drivers = [
|
|
||||||
# pkgs.hplipWithPlugin
|
|
||||||
];
|
|
||||||
};
|
|
||||||
avahi = {
|
|
||||||
enable = printEnable;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
ipp-usb.enable = printEnable;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
environment = {
|
|
||||||
systemPackages = with pkgs; [
|
|
||||||
quickshell
|
|
||||||
|
|
||||||
# Qt6 related kits(for slove Qt5Compat problem)
|
|
||||||
qt6.qt5compat
|
|
||||||
qt6.qtbase
|
|
||||||
qt6.qtquick3d
|
|
||||||
qt6.qtwayland
|
|
||||||
qt6.qtdeclarative
|
|
||||||
qt6.qtsvg
|
|
||||||
|
|
||||||
# alternate options
|
|
||||||
# libsForQt5.qt5compat
|
|
||||||
kdePackages.qt5compat
|
|
||||||
libsForQt5.qt5.qtgraphicaleffects
|
|
||||||
];
|
|
||||||
# necessary environment variables
|
|
||||||
variables = {
|
|
||||||
QML_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml";
|
|
||||||
QML2_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt-6/qml:${pkgs.qt6.qtbase}/lib/qt-6/qml";
|
|
||||||
};
|
|
||||||
# make sure the Qt application is working properly
|
|
||||||
sessionVariables = {
|
|
||||||
QT_QPA_PLATFORM = "wayland;xcb";
|
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
_: {
|
|
||||||
security = {
|
|
||||||
rtkit.enable = true;
|
|
||||||
polkit = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
polkit.addRule(function(action, subject) {
|
|
||||||
if ( subject.isInGroup("users") && (
|
|
||||||
action.id == "org.freedesktop.login1.reboot" ||
|
|
||||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
|
||||||
action.id == "org.freedesktop.login1.power-off" ||
|
|
||||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
|
|
||||||
))
|
|
||||||
{ return polkit.Result.YES; }
|
|
||||||
})
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
pam.services.swaylock = {
|
|
||||||
text = ''auth include login '';
|
|
||||||
};
|
|
||||||
sudo = {
|
|
||||||
enable = true;
|
|
||||||
extraConfig = ''
|
|
||||||
Defaults pwfeedback
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
{
|
|
||||||
profile,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# Services to start
|
|
||||||
services = {
|
|
||||||
libinput.enable = true; # Input Handling
|
|
||||||
fstrim.enable = true; # SSD Optimizer
|
|
||||||
gvfs.enable = true; # For Mounting USB & More
|
|
||||||
openssh = {
|
|
||||||
enable = true; # Enable SSH
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no"; # Prevent root from SSH login
|
|
||||||
PasswordAuthentication = true; # Users can SSH using kb and password
|
|
||||||
KbdInteractiveAuthentication = true;
|
|
||||||
};
|
|
||||||
ports = [22];
|
|
||||||
};
|
|
||||||
tumbler.enable = true; # Image/video preview
|
|
||||||
gnome = {
|
|
||||||
gnome-keyring.enable = true;
|
|
||||||
evolution-data-server.enable = true;
|
|
||||||
};
|
|
||||||
smartd = {
|
|
||||||
enable =
|
|
||||||
if profile == "vm"
|
|
||||||
then false
|
|
||||||
else true;
|
|
||||||
autodetect = true;
|
|
||||||
};
|
|
||||||
pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
jack.enable = true;
|
|
||||||
extraConfig.pipewire."92-low-latency" = {
|
|
||||||
"context.properties" = {
|
|
||||||
"default.clock.rate" = 48000;
|
|
||||||
"default.clock.quantum" = 256;
|
|
||||||
"default.clock.min-quantum" = 256;
|
|
||||||
"default.clock.max-quantum" = 256;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfig.pipewire-pulse."92-low-latency" = {
|
|
||||||
context.modules = [
|
|
||||||
{
|
|
||||||
name = "libpipewire-module-protocol-pulse";
|
|
||||||
args = {
|
|
||||||
pulse.min.req = "256/48000";
|
|
||||||
pulse.default.req = "256/48000";
|
|
||||||
pulse.max.req = "256/48000";
|
|
||||||
pulse.min.quantum = "256/48000";
|
|
||||||
pulse.max.quantum = "256/48000";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
upower = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.upower;
|
|
||||||
};
|
|
||||||
power-profiles-daemon = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.power-profiles-daemon;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
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;
|
|
||||||
package = pkgs.steam;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = true;
|
|
||||||
gamescopeSession = lib.mkIf config.gamescope.enable {
|
|
||||||
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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) stylixImage;
|
|
||||||
in {
|
|
||||||
# Styling Options
|
|
||||||
stylix = {
|
|
||||||
enable = true;
|
|
||||||
image = ../../wallpapers/${stylixImage};
|
|
||||||
polarity = "dark";
|
|
||||||
opacity.terminal = 1.0;
|
|
||||||
cursor = {
|
|
||||||
package = pkgs.bibata-cursors;
|
|
||||||
name = "Bibata-Modern-Ice";
|
|
||||||
size = 24;
|
|
||||||
};
|
|
||||||
fonts = {
|
|
||||||
monospace = {
|
|
||||||
package = pkgs.nerd-fonts.fira-mono;
|
|
||||||
name = "FiraCode Nerd Font Mono";
|
|
||||||
};
|
|
||||||
sansSerif = {
|
|
||||||
package = pkgs.nerd-fonts.fira-code;
|
|
||||||
name = "FiraCode Nerd Font Propo";
|
|
||||||
};
|
|
||||||
serif = {
|
|
||||||
package = pkgs.nerd-fonts.fira-code;
|
|
||||||
name = "FiraCode Nerd Font";
|
|
||||||
};
|
|
||||||
sizes = {
|
|
||||||
applications = 12;
|
|
||||||
terminal = 15;
|
|
||||||
desktop = 11;
|
|
||||||
popups = 12;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{username, ...}: {
|
|
||||||
services.syncthing = {
|
|
||||||
enable = false;
|
|
||||||
user = "${username}";
|
|
||||||
dataDir = "/home/${username}";
|
|
||||||
configDir = "/home/${username}/.config/syncthing";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
{
|
|
||||||
host,
|
|
||||||
inputs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) consoleKeyMap;
|
|
||||||
in {
|
|
||||||
nix = {
|
|
||||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
|
||||||
settings = {
|
|
||||||
download-buffer-size = 200000000;
|
|
||||||
auto-optimise-store = true;
|
|
||||||
experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
substituters = ["https://hyprland.cachix.org"];
|
|
||||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
time.timeZone = "Europe/Warsaw";
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "pl_PL.UTF-8";
|
|
||||||
extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "pl_PL.UTF-8";
|
|
||||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
|
||||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
|
||||||
LC_MONETARY = "pl_PL.UTF-8";
|
|
||||||
LC_NAME = "pl_PL.UTF-8";
|
|
||||||
LC_NUMERIC = "pl_PL.UTF-8";
|
|
||||||
LC_PAPER = "pl_PL.UTF-8";
|
|
||||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
|
||||||
LC_TIME = "pl_PL.UTF-8";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
environment.variables = {
|
|
||||||
NIXOS_OZONE_WL = "1";
|
|
||||||
GARANDOS_VERSION = "1.0";
|
|
||||||
GARANDOS = "true";
|
|
||||||
};
|
|
||||||
console.keyMap = "${consoleKeyMap}";
|
|
||||||
system.stateVersion = "23.11"; # Do not change!
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
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,9 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
programs.thunar = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
username,
|
|
||||||
host,
|
|
||||||
profile,
|
|
||||||
system,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername;
|
|
||||||
in {
|
|
||||||
imports = [inputs.home-manager.nixosModules.home-manager];
|
|
||||||
home-manager = {
|
|
||||||
useUserPackages = true;
|
|
||||||
useGlobalPkgs = false;
|
|
||||||
backupFileExtension = "backup-nixos";
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit
|
|
||||||
inputs
|
|
||||||
username
|
|
||||||
host
|
|
||||||
profile
|
|
||||||
system
|
|
||||||
;
|
|
||||||
};
|
|
||||||
users.${username} = {
|
|
||||||
imports = [
|
|
||||||
./../home
|
|
||||||
../../hosts/${host}/home-modules.nix
|
|
||||||
inputs.noctalia.homeModules.default
|
|
||||||
];
|
|
||||||
home = {
|
|
||||||
username = "${username}";
|
|
||||||
homeDirectory = "/home/${username}";
|
|
||||||
stateVersion = "25.11";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
users = {
|
|
||||||
mutableUsers = true;
|
|
||||||
users.${username} = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "${gitUsername}";
|
|
||||||
extraGroups = [
|
|
||||||
"adbusers"
|
|
||||||
"docker" # access to docker as non-root
|
|
||||||
"libvirtd" # Virt manager/QEMU access
|
|
||||||
"lp"
|
|
||||||
"networkmanager"
|
|
||||||
"scanner"
|
|
||||||
"wheel" # sudo access
|
|
||||||
"vboxusers" # Virtual Box
|
|
||||||
"gamemode"
|
|
||||||
];
|
|
||||||
shell = pkgs.bash;
|
|
||||||
ignoreShellProgramCheck = true;
|
|
||||||
linger = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
nix.settings.allowed-users = ["${username}"];
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
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,12 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
wlr.enable = true;
|
|
||||||
extraPortals = with pkgs; [
|
|
||||||
xdg-desktop-portal-hyprland
|
|
||||||
xdg-desktop-portal-gtk
|
|
||||||
];
|
|
||||||
configPackages = [pkgs.hyprland];
|
|
||||||
xdgOpenUsePortal = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{host, ...}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) keyboardLayout;
|
|
||||||
in {
|
|
||||||
services.xserver = {
|
|
||||||
enable = true;
|
|
||||||
xkb = {
|
|
||||||
layout = "${keyboardLayout}";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.drivers.amdgpu;
|
|
||||||
in {
|
|
||||||
options.drivers.amdgpu = {
|
|
||||||
enable = mkEnableOption "Enable AMD Drivers";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
systemd.tmpfiles.rules = ["L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"];
|
|
||||||
services.xserver.videoDrivers = ["amdgpu"];
|
|
||||||
environment.systemPackages = with pkgs; [rocmPackages.rocm-smi];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
./amd-drivers.nix
|
|
||||||
./intel-drivers.nix
|
|
||||||
./local-hardware-clock.nix
|
|
||||||
./nvidia-drivers.nix
|
|
||||||
./nvidia-prime-drivers.nix
|
|
||||||
./vm-guest-services.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.drivers.intel;
|
|
||||||
in {
|
|
||||||
options.drivers.intel = {
|
|
||||||
enable = mkEnableOption "Enable Intel Graphics Drivers";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
# OpenGL
|
|
||||||
hardware.graphics = {
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
intel-media-driver
|
|
||||||
vaapiIntel
|
|
||||||
vaapiVdpau
|
|
||||||
libvdpau-va-gl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.local.hardware-clock;
|
|
||||||
in {
|
|
||||||
options.local.hardware-clock = {
|
|
||||||
enable = mkEnableOption "Change Hardware Clock To Local Time";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {time.hardwareClockInLocalTime = true;};
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.drivers.nvidia;
|
|
||||||
in {
|
|
||||||
options.drivers.nvidia = {
|
|
||||||
enable = mkEnableOption "Enable Nvidia Drivers";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
|
||||||
environment.systemPackages = with pkgs; [nvidia-docker];
|
|
||||||
hardware = {
|
|
||||||
nvidia-container-toolkit.enable = true;
|
|
||||||
nvidia = {
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
powerManagement.enable = true;
|
|
||||||
# Fine-grained power management. Turns off GPU when not in use.
|
|
||||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
# Use the NVidia open source kernel module (not to be confused with the
|
|
||||||
# independent third-party "nouveau" open source driver).
|
|
||||||
# Support is limited to the Turing and later architectures. Full list of
|
|
||||||
# supported GPUs is at:
|
|
||||||
# https://github.com/NVIDIA/open-gpu-kernel-modules#compatible-gpus
|
|
||||||
# Only available from driver 515.43.04+
|
|
||||||
# Currently alpha-quality/buggy, so false is currently the recommended setting.
|
|
||||||
open = false;
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
# accessible via `nvidia-settings`.
|
|
||||||
nvidiaSettings = true;
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
# Making nvidia docker toolkit work:
|
|
||||||
#
|
|
||||||
# sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
|
|
||||||
#
|
|
||||||
# sudo nvidia-ctk cdi list
|
|
||||||
#
|
|
||||||
# sudo tee /etc/docker/daemon.json > /dev/null <<EOF
|
|
||||||
# {
|
|
||||||
# "features": {
|
|
||||||
# "cdi": true
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
# EOF
|
|
||||||
#
|
|
||||||
# docker run --device nvidia.com/gpu=all
|
|
||||||
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.drivers.nvidia-prime;
|
|
||||||
in {
|
|
||||||
options.drivers.nvidia-prime = {
|
|
||||||
enable = mkEnableOption "Enable Nvidia Prime Hybrid GPU Offload";
|
|
||||||
intelBusID = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "PCI:1:0:0";
|
|
||||||
};
|
|
||||||
nvidiaBusID = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
default = "PCI:0:2:0";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
hardware.nvidia = {
|
|
||||||
prime = {
|
|
||||||
offload = {
|
|
||||||
enable = true;
|
|
||||||
enableOffloadCmd = true;
|
|
||||||
};
|
|
||||||
# Make sure to use the correct Bus ID values for your system!
|
|
||||||
intelBusId = "${cfg.intelBusID}";
|
|
||||||
nvidiaBusId = "${cfg.nvidiaBusID}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.vm.guest-services;
|
|
||||||
in {
|
|
||||||
options.vm.guest-services = {
|
|
||||||
enable = mkEnableOption "Enable Virtual Machine Guest Services";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.qemuGuest.enable = true;
|
|
||||||
services.spice-vdagentd.enable = true;
|
|
||||||
services.spice-webdavd.enable = false; # Causes navfs2 build failure invalid neon version 9-12-25
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
username,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.anki.enable = lib.mkEnableOption "Anki";
|
|
||||||
|
|
||||||
config.programs.anki = lib.mkIf config.anki.enable {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.anki;
|
|
||||||
language = "pl_PL";
|
|
||||||
style = "native";
|
|
||||||
sync.username = username;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,138 +0,0 @@
|
|||||||
{
|
|
||||||
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";
|
|
||||||
"ga." = "git add .";
|
|
||||||
mkgidf = "git add . --intent-to-add . && git diff > git-diff.txt";
|
|
||||||
|
|
||||||
# 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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs.bash = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
# initExtra = ''
|
|
||||||
# fastfetch
|
|
||||||
# '';
|
|
||||||
};
|
|
||||||
imports = [
|
|
||||||
./aliases.nix
|
|
||||||
./functions.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,144 +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}'
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.bat = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
pager = "less -FR";
|
|
||||||
style = "full";
|
|
||||||
theme = lib.mkForce "base16";
|
|
||||||
};
|
|
||||||
extraPackages = with pkgs.bat-extras; [
|
|
||||||
batman
|
|
||||||
batpipe
|
|
||||||
batgrep
|
|
||||||
];
|
|
||||||
};
|
|
||||||
home.sessionVariables = {
|
|
||||||
MANPAGER = "sh -c 'col -bx | bat -l man -p'";
|
|
||||||
MANROFFOPT = "-c";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.btop.enable = lib.mkEnableOption "Btop";
|
|
||||||
|
|
||||||
config.programs.btop = lib.mkIf config.btop.enable {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.btop.override {
|
|
||||||
rocmSupport = true;
|
|
||||||
cudaSupport = true;
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
rounded_corners = true;
|
|
||||||
proc_tree = true;
|
|
||||||
show_gpu_info = "on";
|
|
||||||
show_uptime = true;
|
|
||||||
show_coretemp = true;
|
|
||||||
cpu_sensor = "auto";
|
|
||||||
show_disks = true;
|
|
||||||
only_physical = true;
|
|
||||||
io_mode = true;
|
|
||||||
io_graph_combined = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.cava.enable = lib.mkEnableOption "Cava";
|
|
||||||
|
|
||||||
config.programs.cava = lib.mkIf config.cava.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
bar_spacing = 1;
|
|
||||||
bar_width = 2;
|
|
||||||
frame_rate = 144;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
_: {
|
|
||||||
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,38 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./bash
|
|
||||||
./chromium
|
|
||||||
./fastfetch
|
|
||||||
./hyprland
|
|
||||||
./kitty
|
|
||||||
./librewolf
|
|
||||||
./noctalia
|
|
||||||
./scripts
|
|
||||||
./vscodium
|
|
||||||
./xdg
|
|
||||||
./zed
|
|
||||||
./anki.nix
|
|
||||||
./bat.nix
|
|
||||||
./btop.nix
|
|
||||||
./cava.nix
|
|
||||||
./emoji.nix
|
|
||||||
./eza.nix
|
|
||||||
./fzf.nix
|
|
||||||
./git.nix
|
|
||||||
./gtk.nix
|
|
||||||
./kdeConnect.nix
|
|
||||||
./lutris.nix
|
|
||||||
./nextcloud.nix
|
|
||||||
./obs-studio.nix
|
|
||||||
./onlyoffice.nix
|
|
||||||
./qt.nix
|
|
||||||
./ssh.nix
|
|
||||||
./starship.nix
|
|
||||||
./stylix.nix
|
|
||||||
./swappy.nix
|
|
||||||
./tealdeer.nix
|
|
||||||
./vesktop.nix
|
|
||||||
./virtmanager.nix
|
|
||||||
./zoxide.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,20 +0,0 @@
|
|||||||
# Eza is a ls replacement
|
|
||||||
{
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
icons = "auto";
|
|
||||||
enableBashIntegration = true;
|
|
||||||
git = true;
|
|
||||||
|
|
||||||
extraOptions = [
|
|
||||||
"--group-directories-first"
|
|
||||||
"--no-quotes"
|
|
||||||
"--header" # Show header row
|
|
||||||
"--git-ignore"
|
|
||||||
"--icons=always"
|
|
||||||
# "--time-style=long-iso" # ISO 8601 extended format for time
|
|
||||||
"--classify" # append indicator (/, *, =, @, |)
|
|
||||||
"--hyperlink" # make paths clickable in some terminals
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.fastfetch.enable = lib.mkEnableOption "FastFetch";
|
|
||||||
|
|
||||||
config.programs.fastfetch = lib.mkIf config.fastfetch.enable {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.fastfetch;
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./settings
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB |
@@ -1,7 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./display.nix
|
|
||||||
./logo.nix
|
|
||||||
./modules.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs.fastfetch.settings.display = {
|
|
||||||
color = {
|
|
||||||
keys = "35";
|
|
||||||
output = "90";
|
|
||||||
};
|
|
||||||
separator = " ➜ ";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs.fastfetch.settings.logo = {
|
|
||||||
source = ../garandos.png;
|
|
||||||
type = "kitty-direct";
|
|
||||||
height = 15;
|
|
||||||
width = 30;
|
|
||||||
padding = {
|
|
||||||
top = 3;
|
|
||||||
left = 3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
_: {
|
|
||||||
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"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
# Fzf is a general-purpose command-line fuzzy finder.
|
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
accent = "#" + config.lib.stylix.colors.base0D;
|
|
||||||
foreground = "#" + config.lib.stylix.colors.base05;
|
|
||||||
muted = "#" + config.lib.stylix.colors.base03;
|
|
||||||
in {
|
|
||||||
programs.fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
colors = lib.mkForce {
|
|
||||||
"fg+" = accent;
|
|
||||||
"bg+" = "-1";
|
|
||||||
"fg" = foreground;
|
|
||||||
"bg" = "-1";
|
|
||||||
"prompt" = muted;
|
|
||||||
"pointer" = accent;
|
|
||||||
};
|
|
||||||
defaultOptions = [
|
|
||||||
"--margin=1"
|
|
||||||
"--layout=reverse"
|
|
||||||
"--border=none"
|
|
||||||
"--info='hidden'"
|
|
||||||
"--header=''"
|
|
||||||
"--prompt='/ '"
|
|
||||||
"-i"
|
|
||||||
"--no-bold"
|
|
||||||
"--bind='enter:execute(nano {})'"
|
|
||||||
"--preview='bat --style=numbers --color=always --line-range :500 {}'"
|
|
||||||
"--preview-window=right:60%:wrap"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{host, ...}: let
|
|
||||||
inherit (import ../../hosts/${host}/variables.nix) gitUsername gitEmail;
|
|
||||||
in {
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user = {
|
|
||||||
name = "${gitUsername}";
|
|
||||||
email = "${gitEmail}";
|
|
||||||
};
|
|
||||||
push.default = "simple";
|
|
||||||
credential.helper = "cache --timeout=7200";
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
log = {
|
|
||||||
decorate = "full";
|
|
||||||
date = "iso";
|
|
||||||
};
|
|
||||||
merge.conflictStyle = "diff3";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
gtk = {
|
|
||||||
iconTheme = {
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
package = pkgs.papirus-icon-theme;
|
|
||||||
};
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
gtk4.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
_: {
|
|
||||||
wayland.windowManager.hyprland.settings.animations = {
|
|
||||||
enabled = true;
|
|
||||||
bezier = [
|
|
||||||
"linear, 0, 0, 1, 1"
|
|
||||||
"md3_standard, 0.2, 0, 0, 1"
|
|
||||||
"md3_decel, 0.05, 0.7, 0.1, 1"
|
|
||||||
"md3_accel, 0.3, 0, 0.8, 0.15"
|
|
||||||
"overshot, 0.05, 0.9, 0.1, 1.1"
|
|
||||||
"crazyshot, 0.1, 1.5, 0.76, 0.92 "
|
|
||||||
"hyprnostretch, 0.05, 0.9, 0.1, 1.0"
|
|
||||||
"menu_decel, 0.1, 1, 0, 1"
|
|
||||||
"menu_accel, 0.38, 0.04, 1, 0.07"
|
|
||||||
"easeInOutCirc, 0.85, 0, 0.15, 1"
|
|
||||||
"easeOutCirc, 0, 0.55, 0.45, 1"
|
|
||||||
"easeOutExpo, 0.16, 1, 0.3, 1"
|
|
||||||
"softAcDecel, 0.26, 0.26, 0.15, 1"
|
|
||||||
"md2, 0.4, 0, 0.2, 1 # use with .2s duration"
|
|
||||||
];
|
|
||||||
animation = [
|
|
||||||
"windows, 1, 3, md3_decel, popin 60%"
|
|
||||||
"windowsIn, 1, 3, md3_decel, popin 60%"
|
|
||||||
"windowsOut, 1, 3, md3_accel, popin 60%"
|
|
||||||
"border, 1, 10, default"
|
|
||||||
"fade, 1, 3, md3_decel"
|
|
||||||
"layersIn, 1, 3, menu_decel, slide"
|
|
||||||
"layersOut, 1, 1.6, menu_accel"
|
|
||||||
"fadeLayersIn, 1, 2, menu_decel"
|
|
||||||
"fadeLayersOut, 1, 4.5, menu_accel"
|
|
||||||
"workspaces, 1, 7, menu_decel, slide"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,164 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
username,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
desktopEntriesPath = "/home/${username}/.local/state/home-manager/gcroots/current-home/home-path/share/applications/";
|
|
||||||
|
|
||||||
mainBinds = [
|
|
||||||
"SUPER, A, exec, anki #\"Flashcard learning application\""
|
|
||||||
"SUPER, B, exec, bitwarden #\"Password manager\""
|
|
||||||
"SUPER, C, exec, chromium #\"Ungoogled Chromium\""
|
|
||||||
"SUPER, D, exec, vesktop #\"Discord client\""
|
|
||||||
"SUPER, E, exec, noctalia-shell ipc call launcher emoji #\"Emoji picker\""
|
|
||||||
"SUPER, Escape, exec, noctalia-shell ipc call lockScreen lock #\"Lock the screen\""
|
|
||||||
"SUPER, G, exec, affinity-v3 #\"Graphics editor\""
|
|
||||||
"SUPER, I, exec, iotas #\"Note-taking app\""
|
|
||||||
"SUPER, J, exec, Jan #\"Local AI chat interface\""
|
|
||||||
"SUPER, K, exec, galculator #\"Scientific calculator\""
|
|
||||||
"SUPER, L, exec, logseq #\"Knowledge management tool\""
|
|
||||||
"SUPER, M, exec, plexamp #\"Music player for Plex\""
|
|
||||||
"SUPER, N, exec, dex ${desktopEntriesPath}/garandcloud.desktop #\"GarandCloud client\""
|
|
||||||
"SUPER, O, exec, onlyoffice-desktopeditors #\"Office suite\""
|
|
||||||
"SUPER, P, exec, plex-desktop #\"Plex media player\""
|
|
||||||
"SUPER, Return, exec, kitty #\"Kitty terminal\""
|
|
||||||
"SUPER, S, exec, steam #\"Steam Game launcher\""
|
|
||||||
"SUPER, T, exec, thunar #\"File manager\""
|
|
||||||
"SUPER, V, exec, codium #\"VS Codium\""
|
|
||||||
"SUPER, W, exec, librewolf #\"Main Web browser (Librewolf)\""
|
|
||||||
"SUPER, Z, exec, zeditor #\"Zed IDE\""
|
|
||||||
];
|
|
||||||
|
|
||||||
shiftBinds = [
|
|
||||||
"SUPER SHIFT, C, exec, dex ${desktopEntriesPath}/claude.desktop #\"Claude AI chat\""
|
|
||||||
"SUPER SHIFT, G, exec, dex ${desktopEntriesPath}/chatgpt.desktop #\"ChatGPT AI chat\""
|
|
||||||
"SUPER SHIFT, K, exec, noctalia-shell ipc call plugin:keybind-cheatsheet toggle #\"Toggle keybind cheatsheet\""
|
|
||||||
"SUPER SHIFT, M, exec, dex ${desktopEntriesPath}/messenger.desktop #\"Facebook Messenger client\""
|
|
||||||
"SUPER SHIFT, N, exec, nextcloud #\"Nextcloud desktop sync client\""
|
|
||||||
"SUPER SHIFT, O, exec, obs #\"Open Broadcaster Software\""
|
|
||||||
"SUPER SHIFT, P, exec, noctalia-shell ipc call volume togglePanel #\"Toggle volume control panel\""
|
|
||||||
"SUPER SHIFT, R, exec, restart.noctalia #\"Restart Noctalia shell\""
|
|
||||||
"SUPER SHIFT, Return, exec, noctalia-shell ipc call launcher toggle #\"Toggle application launcher\""
|
|
||||||
"SUPER SHIFT, S, exec, screenshootin #\"Take screenshot\""
|
|
||||||
"SUPER SHIFT, T, exec, tutanota-desktop #\"Tutanota encrypted email client\""
|
|
||||||
"SUPER SHIFT, V, exec, noctalia-shell ipc call launcher clipboard #\"Open clipboard manager\""
|
|
||||||
];
|
|
||||||
|
|
||||||
altBinds = [
|
|
||||||
"SUPER ALT, C, exec, noctalia-shell ipc call controlCenter toggle #\"Toggle control center\""
|
|
||||||
"SUPER ALT, G, exec, dex ${desktopEntriesPath}/glance.desktop #\"Glance server panel\""
|
|
||||||
"SUPER ALT, M, exec, dex ${desktopEntriesPath}/mastodon.desktop #\"Mastodon social network client\""
|
|
||||||
"SUPER ALT, P, exec, noctalia-shell ipc call settings toggle #\"Open settings panel\""
|
|
||||||
"SUPER ALT, S, exec, slack #\"Slack team communication tool\""
|
|
||||||
"SUPER ALT, T, exec, gedit #\"GNOME text editor\""
|
|
||||||
"SUPER ALT, W, exec, noctalia-shell ipc call wallpaper toggle #\"Toggle wallpaper\""
|
|
||||||
];
|
|
||||||
|
|
||||||
controlBinds = [
|
|
||||||
"SUPER CONTROL, C, exec, noctalia-shell ipc call powerProfile cycle #\"Cycle through power profiles\""
|
|
||||||
"SUPER CONTROL, G, exec, gimp #\"GNU Image Manipulation Program\""
|
|
||||||
"SUPER CONTROL, M, exec, mattermost-desktop #\"Mattermost team chat client\""
|
|
||||||
"SUPER CONTROL, S, exec, signal-desktop #\"Signal encrypted messaging\""
|
|
||||||
"SUPER CONTROL, P, exec, hyprpicker -a #\"Pick color from screen\""
|
|
||||||
];
|
|
||||||
|
|
||||||
windowManagementBinds = [
|
|
||||||
"SUPER, F, fullscreen, #\"Toggle fullscreen mode\""
|
|
||||||
"SUPER, Q, killactive, #\"Close active window\""
|
|
||||||
"SUPER SHIFT, I, togglesplit, #\"Toggle split layout\""
|
|
||||||
"SUPER SHIFT, F, togglefloating, #\"Toggle floating mode\""
|
|
||||||
];
|
|
||||||
|
|
||||||
windowFocusBinds = [
|
|
||||||
"SUPER, down, movefocus, d #\"Move focus down\""
|
|
||||||
"SUPER, left, movefocus, l #\"Move focus left\""
|
|
||||||
"SUPER, right, movefocus, r #\"Move focus right\""
|
|
||||||
"SUPER, up, movefocus, u #\"Move focus up\""
|
|
||||||
];
|
|
||||||
|
|
||||||
windowMovementBinds = [
|
|
||||||
"SUPER SHIFT, down, movewindow, d #\"Move window down\""
|
|
||||||
"SUPER SHIFT, left, movewindow, l #\"Move window left\""
|
|
||||||
"SUPER SHIFT, right, movewindow, r #\"Move window right\""
|
|
||||||
"SUPER SHIFT, up, movewindow, u #\"Move window up\""
|
|
||||||
];
|
|
||||||
|
|
||||||
windowSwapBinds = [
|
|
||||||
"SUPER ALT, down, swapwindow, d #\"Swap active window with window below\""
|
|
||||||
"SUPER ALT, left, swapwindow, l #\"Swap active window with window on the left\""
|
|
||||||
"SUPER ALT, right, swapwindow, r #\"Swap active window with window on the right\""
|
|
||||||
"SUPER ALT, up, swapwindow, u #\"Swap active window with window above\""
|
|
||||||
];
|
|
||||||
|
|
||||||
workspacesSwitchBinds = [
|
|
||||||
"SUPER, 0, workspace, 10 #\"Switch to workspace 10\""
|
|
||||||
"SUPER, 1, workspace, 1 #\"Switch to workspace 1\""
|
|
||||||
"SUPER, 2, workspace, 2 #\"Switch to workspace 2\""
|
|
||||||
"SUPER, 3, workspace, 3 #\"Switch to workspace 3\""
|
|
||||||
"SUPER, 4, workspace, 4 #\"Switch to workspace 4\""
|
|
||||||
"SUPER, 5, workspace, 5 #\"Switch to workspace 5\""
|
|
||||||
"SUPER, 6, workspace, 6 #\"Switch to workspace 6\""
|
|
||||||
"SUPER, 7, workspace, 7 #\"Switch to workspace 7\""
|
|
||||||
"SUPER, 8, workspace, 8 #\"Switch to workspace 8\""
|
|
||||||
"SUPER, 9, workspace, 9 #\"Switch to workspace 9\""
|
|
||||||
"SUPER CONTROL, left, workspace, e-1 #\"Switch to previous workspace\""
|
|
||||||
"SUPER CONTROL, right, workspace, e+1 #\"Switch to next workspace\""
|
|
||||||
"SUPER, mouse_down, workspace, e+1 #\"Switch to next workspace with mouse\""
|
|
||||||
"SUPER, mouse_up, workspace, e-1 #\"Switch to previous workspace with mouse\""
|
|
||||||
];
|
|
||||||
|
|
||||||
workspacesSwapBinds = [
|
|
||||||
"SUPER SHIFT, 0, movetoworkspace, 10 #\"Move active window to workspace 10\""
|
|
||||||
"SUPER SHIFT, 1, movetoworkspace, 1 #\"Move active window to workspace 1\""
|
|
||||||
"SUPER SHIFT, 2, movetoworkspace, 2 #\"Move active window to workspace 2\""
|
|
||||||
"SUPER SHIFT, 3, movetoworkspace, 3 #\"Move active window to workspace 3\""
|
|
||||||
"SUPER SHIFT, 4, movetoworkspace, 4 #\"Move active window to workspace 4\""
|
|
||||||
"SUPER SHIFT, 5, movetoworkspace, 5 #\"Move active window to workspace 5\""
|
|
||||||
"SUPER SHIFT, 6, movetoworkspace, 6 #\"Move active window to workspace 6\""
|
|
||||||
"SUPER SHIFT, 7, movetoworkspace, 7 #\"Move active window to workspace 7\""
|
|
||||||
"SUPER SHIFT, 8, movetoworkspace, 8 #\"Move active window to workspace 8\""
|
|
||||||
"SUPER SHIFT, 9, movetoworkspace, 9 #\"Move active window to workspace 9\""
|
|
||||||
];
|
|
||||||
|
|
||||||
systemMediaAndControllsBinds = [
|
|
||||||
",XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #\"Lower system volume\""
|
|
||||||
",XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #\"Mute audio output\""
|
|
||||||
",XF86AudioNext, exec, noctalia-shell ipc call media next #\"Next media track\""
|
|
||||||
",XF86AudioPause, exec, noctalia-shell ipc call media pause #\"Pause media playback\""
|
|
||||||
",XF86AudioPlay, exec, noctalia-shell ipc call media play #\"Play media\""
|
|
||||||
",XF86AudioPrev, exec, noctalia-shell ipc call media previous #\"Previous media track\""
|
|
||||||
",XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #\"Raise system volume\""
|
|
||||||
",XF86MonBrightnessDown, exec, noctalia-shell ipc call brightness decrease #\"Decrease screen brightness\""
|
|
||||||
",XF86MonBrightnessUp, exec, noctalia-shell ipc call brightness increase #\"Increase screen brightness\""
|
|
||||||
];
|
|
||||||
|
|
||||||
mkBlock = header: lines:
|
|
||||||
lib.concatLines (
|
|
||||||
["# ${header}"]
|
|
||||||
++ (map (l: "bind = ${l}") lines)
|
|
||||||
);
|
|
||||||
|
|
||||||
fullConfig = lib.concatLines [
|
|
||||||
""
|
|
||||||
(mkBlock "1. MAIN APPS" mainBinds)
|
|
||||||
(mkBlock "2. SHIFT APPS" shiftBinds)
|
|
||||||
(mkBlock "3. ALT APPS" altBinds)
|
|
||||||
(mkBlock "4. CONTROL APPS" controlBinds)
|
|
||||||
(mkBlock "5. WINDOW MANAGEMENT" windowManagementBinds)
|
|
||||||
(mkBlock "6. WINDOWS FOCUS" windowFocusBinds)
|
|
||||||
(mkBlock "7. WINDOWS MOVEMENT" windowMovementBinds)
|
|
||||||
(mkBlock "8. WINDOWS SWAP" windowSwapBinds)
|
|
||||||
(mkBlock "9. WORKSPACES SWITCH" workspacesSwitchBinds)
|
|
||||||
(mkBlock "10. WORKSPACES SWAP" workspacesSwapBinds)
|
|
||||||
(mkBlock "11. SYSTEM MEDIA & CONTROLS" systemMediaAndControllsBinds)
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
wayland.windowManager.hyprland.settings = {
|
|
||||||
extraConfig = fullConfig;
|
|
||||||
|
|
||||||
bindm = [
|
|
||||||
"SUPER, mouse:272, movewindow"
|
|
||||||
"SUPER, mouse:273, resizewindow"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
_: {
|
|
||||||
imports = [
|
|
||||||
./animations.nix
|
|
||||||
./binds.nix
|
|
||||||
./env.nix
|
|
||||||
./exec-once.nix
|
|
||||||
./hypridle.nix
|
|
||||||
./hyprland.nix
|
|
||||||
./pyprland.nix
|
|
||||||
./windowrules.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
_: {
|
|
||||||
wayland.windowManager.hyprland.settings.env = [
|
|
||||||
"NIXOS_OZONE_WL, 1"
|
|
||||||
"NIXPKGS_ALLOW_UNFREE, 1"
|
|
||||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
|
||||||
"XDG_SESSION_TYPE, wayland"
|
|
||||||
"XDG_SESSION_DESKTOP, Hyprland"
|
|
||||||
"GDK_BACKEND, wayland, x11"
|
|
||||||
"CLUTTER_BACKEND, wayland"
|
|
||||||
"QT_QPA_PLATFORM=wayland;xcb"
|
|
||||||
"QT_WAYLAND_DISABLE_WINDOWDECORATION, 1"
|
|
||||||
"QT_AUTO_SCREEN_SCALE_FACTOR, 1"
|
|
||||||
"SDL_VIDEODRIVER, x11"
|
|
||||||
"MOZ_ENABLE_WAYLAND, 1"
|
|
||||||
# This is to make electron apps start in wayland
|
|
||||||
"ELECTRON_OZONE_PLATFORM_HINT,wayland"
|
|
||||||
# Disabling this by default as it can result in inop cfg
|
|
||||||
# Added card2 in case this gets enabled. For better coverage
|
|
||||||
# This is mostly needed by Hybrid laptops.
|
|
||||||
# but if you have multiple discrete GPUs this will set order
|
|
||||||
#"AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1:/dev/card2"
|
|
||||||
"GDK_SCALE,1"
|
|
||||||
"QT_SCALE_FACTOR,1"
|
|
||||||
"EDITOR,nano"
|
|
||||||
"TERMINAL,kitty"
|
|
||||||
"XDG_TERMINAL_EMULATOR,kitty"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
_: {
|
|
||||||
wayland.windowManager.hyprland.settings.exec-once = [
|
|
||||||
"wl-paste --type text --watch cliphist store" # Saves text
|
|
||||||
"wl-paste --type image --watch cliphist store" # Saves images
|
|
||||||
"dbus-update-activation-environment --all --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
|
||||||
"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
|
|
||||||
"systemctl --user start hyprpolkitagent"
|
|
||||||
|
|
||||||
# "killall -q waybar"
|
|
||||||
# "pkill waybar"
|
|
||||||
# "killall -q swaync"
|
|
||||||
# "pkill swaync"
|
|
||||||
"noctalia-shell &"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB |
@@ -1,18 +0,0 @@
|
|||||||
_: {
|
|
||||||
services.hypridle = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
|
||||||
ignore_dbus_inhibit = false;
|
|
||||||
};
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 1200;
|
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,153 +0,0 @@
|
|||||||
{
|
|
||||||
host,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
inherit (import ../../../hosts/${host}/variables.nix) extraMonitorSettings keyboardLayout;
|
|
||||||
in {
|
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [
|
|
||||||
"xdg-desktop-autostart.target"
|
|
||||||
];
|
|
||||||
# Place Files Inside Home Directory
|
|
||||||
home.file = {
|
|
||||||
"Pictures/Wallpapers" = {
|
|
||||||
source = ../../../wallpapers;
|
|
||||||
recursive = true;
|
|
||||||
};
|
|
||||||
".face.icon".source = ./face.jpg;
|
|
||||||
".config/face.jpg".source = ./face.jpg;
|
|
||||||
};
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.hyprland;
|
|
||||||
systemd = {
|
|
||||||
enable = true;
|
|
||||||
enableXdgAutostart = true;
|
|
||||||
variables = ["--all"];
|
|
||||||
};
|
|
||||||
xwayland.enable = true;
|
|
||||||
settings = {
|
|
||||||
input = {
|
|
||||||
kb_layout = "${keyboardLayout}";
|
|
||||||
kb_options = [
|
|
||||||
"grp:alt_caps_toggle"
|
|
||||||
"caps:super"
|
|
||||||
];
|
|
||||||
numlock_by_default = true;
|
|
||||||
repeat_delay = 300;
|
|
||||||
follow_mouse = 1;
|
|
||||||
float_switch_override_focus = 0;
|
|
||||||
sensitivity = 0;
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
disable_while_typing = true;
|
|
||||||
scroll_factor = 0.8;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = {
|
|
||||||
# workspace_swipe = 1;
|
|
||||||
# workspace_swipe_fingers = 3;
|
|
||||||
workspace_swipe_distance = 500;
|
|
||||||
workspace_swipe_invert = 1;
|
|
||||||
workspace_swipe_min_speed_to_force = 30;
|
|
||||||
workspace_swipe_cancel_ratio = 0.5;
|
|
||||||
workspace_swipe_create_new = 1;
|
|
||||||
workspace_swipe_forever = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
general = {
|
|
||||||
layout = "dwindle";
|
|
||||||
gaps_in = 6;
|
|
||||||
gaps_out = 8;
|
|
||||||
border_size = 2;
|
|
||||||
resize_on_border = true;
|
|
||||||
"col.active_border" = "rgb(${config.lib.stylix.colors.base08}) rgb(${config.lib.stylix.colors.base0C}) 45deg";
|
|
||||||
"col.inactive_border" = "rgb(${config.lib.stylix.colors.base01})";
|
|
||||||
};
|
|
||||||
|
|
||||||
misc = {
|
|
||||||
layers_hog_keyboard_focus = true;
|
|
||||||
initial_workspace_tracking = 0;
|
|
||||||
mouse_move_enables_dpms = true;
|
|
||||||
key_press_enables_dpms = false;
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
disable_splash_rendering = true;
|
|
||||||
enable_swallow = true;
|
|
||||||
swallow_regex = "^(kitty)$";
|
|
||||||
vfr = true; # Variable Frame Rate
|
|
||||||
vrr = 2; # Variable Refresh Rate Might need to set to 0 for NVIDIA/AQ_DRM_DEVICES
|
|
||||||
# Screen flashing to black momentarily or going black when app is fullscreen
|
|
||||||
# Try setting vrr to 0
|
|
||||||
|
|
||||||
# Application not responding (ANR) settings
|
|
||||||
enable_anr_dialog = true;
|
|
||||||
anr_missed_pings = 15;
|
|
||||||
};
|
|
||||||
|
|
||||||
dwindle = {
|
|
||||||
pseudotile = true;
|
|
||||||
preserve_split = true;
|
|
||||||
force_split = 2;
|
|
||||||
};
|
|
||||||
|
|
||||||
decoration = {
|
|
||||||
rounding = 10;
|
|
||||||
rounding_power = 2;
|
|
||||||
blur = {
|
|
||||||
enabled = true;
|
|
||||||
size = 5;
|
|
||||||
passes = 3;
|
|
||||||
vibrancy = 0.1696;
|
|
||||||
ignore_opacity = false;
|
|
||||||
new_optimizations = true;
|
|
||||||
};
|
|
||||||
shadow = {
|
|
||||||
enabled = true;
|
|
||||||
range = 4;
|
|
||||||
render_power = 3;
|
|
||||||
color = "rgba(1a1a1aee)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
ecosystem = {
|
|
||||||
no_donation_nag = true;
|
|
||||||
no_update_news = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
cursor = {
|
|
||||||
sync_gsettings_theme = true;
|
|
||||||
no_hardware_cursors = 2; # change to 1 if want to disable
|
|
||||||
enable_hyprcursor = false;
|
|
||||||
warp_on_change_workspace = 2;
|
|
||||||
no_warps = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
render = {
|
|
||||||
# Disabling as no longer supported
|
|
||||||
#explicit_sync = 1; # Change to 1 to disable
|
|
||||||
#explicit_sync_kms = 1;
|
|
||||||
direct_scanout = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
debug.full_cm_proto = true;
|
|
||||||
|
|
||||||
master = {
|
|
||||||
new_status = "master";
|
|
||||||
new_on_top = 1;
|
|
||||||
mfact = 0.5;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Ensure Xwayland windows render at integer scale; compositor scales them
|
|
||||||
xwayland.force_zero_scaling = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = "
|
|
||||||
monitor=,preferred,auto,auto
|
|
||||||
monitor=Virtual-1,1920x1080@60,auto,1
|
|
||||||
${extraMonitorSettings}
|
|
||||||
layerrule = blur on, blur_popups on, ignore_alpha 0.5, match:namespace noctalia-background-\.*$
|
|
||||||
";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
_: {
|
|
||||||
home.file.".config/hypr/pyprland.toml".text = ''
|
|
||||||
[pyprland]
|
|
||||||
plugins = [
|
|
||||||
"scratchpads",
|
|
||||||
]
|
|
||||||
|
|
||||||
[scratchpads.term]
|
|
||||||
animation = "fromTop"
|
|
||||||
command = "kitty --class kitty-dropterm"
|
|
||||||
class = "kitty-dropterm"
|
|
||||||
size = "70% 70%"
|
|
||||||
max_size = "1920px 100%"
|
|
||||||
position = "150px 150px"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
_: {
|
|
||||||
wayland.windowManager.hyprland.settings.windowrule = [
|
|
||||||
# XWayland specific rules
|
|
||||||
#"noblur, xwayland:1" # Helps prevent odd borders/shadows for xwayland apps
|
|
||||||
# downside it can impact other xwayland apps
|
|
||||||
# This rule is a template for a more targeted approach
|
|
||||||
"no_blur on, match:class resolve, match:xwayland 1" # Window rule for just resolve
|
|
||||||
|
|
||||||
# Application tags
|
|
||||||
"tag +file-manager, match:class [Tt]hunar|org\.gnome\.Nautilus|[Pp]cmanfm-qt"
|
|
||||||
"tag +terminal, match:class com\.mitchellh\.ghostty|org\.wezfurlong\.wezterm|Alacritty|kitty|kitty-dropterm"
|
|
||||||
"tag +browser, match:class [Ff]irefox|org\.mozilla\.firefox|[Ff]irefox-esr"
|
|
||||||
"tag +browser, match:class [Ll]ibrewolf|io\.gitlab\.librewolf-community"
|
|
||||||
"tag +browser, match:class [Gg]oogle-chrome(-beta|-dev|-unstable)?|[Cc]hromium-browser(-beta|-dev|-unstable)?"
|
|
||||||
"tag +projects, match:class VSCode|code|code-url-handler|codium|codium-url-handler|VSCodium|VSCodium-url-handler"
|
|
||||||
"tag +projects, match:class dev\.zed\.Zed"
|
|
||||||
"tag +im, match:class [Dd]iscord|[Ww]ebCord|[Vv]esktop"
|
|
||||||
"tag +im, match:class [Ff]erdium"
|
|
||||||
"tag +im, match:class [Ss]ignal"
|
|
||||||
"tag +im, match:class [Ss]lack"
|
|
||||||
"tag +im, match:class [Tt]eams-for-linux"
|
|
||||||
"tag +games, match:class gamescope"
|
|
||||||
"tag +games, match:class ?:steam_app_\d+"
|
|
||||||
"tag +games, match:class tf_linux64"
|
|
||||||
"tag +games, match:class Minecraft\*.*"
|
|
||||||
"tag +gamestore, match:class [Ss]team"
|
|
||||||
"tag +gamestore, match:title [Ll]utris"
|
|
||||||
"tag +gamestore, match:class com\.heroicgameslauncher\.hgl"
|
|
||||||
"tag +gamestore, match:class org\.prismlauncher\.PrismLauncher"
|
|
||||||
"tag +settings, match:class gnome-disks|wihotspot(-gui)?"
|
|
||||||
"tag +settings, match:class [Rr]ofi"
|
|
||||||
"tag +settings, match:class file-roller|org\.gnome\.FileRoller"
|
|
||||||
"tag +settings, match:class nm-applet|nm-connection-editor"
|
|
||||||
"tag +settings, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
|
||||||
"tag +settings, match:class nwg-look|qt5ct|qt6ct|[Yy]ad"
|
|
||||||
"tag +settings, match:class xdg-desktop-portal-gtk"
|
|
||||||
"tag +settings, match:class nwg-displays"
|
|
||||||
|
|
||||||
# Position and movement rules
|
|
||||||
"move 72% 7%, match:title Picture-in-Picture"
|
|
||||||
"center on, match:class pavucontrol|org\.pulseaudio\.pavucontrol|com\.saivert\.pwvucontrol"
|
|
||||||
"center on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
|
||||||
"center on, match:title Authentication Required"
|
|
||||||
|
|
||||||
# Idle inhibit rules
|
|
||||||
"idle_inhibit fullscreen, match:class .*"
|
|
||||||
"idle_inhibit fullscreen, match:title .*"
|
|
||||||
"idle_inhibit fullscreen, match:fullscreen 1"
|
|
||||||
|
|
||||||
# Float rules
|
|
||||||
"float on, match:class [Ww]aypaper"
|
|
||||||
"float on, match:tag settings*"
|
|
||||||
"float on, match:title Picture-in-Picture"
|
|
||||||
"float on, match:title Authentication Required"
|
|
||||||
"float on, match:title War in Tunnels"
|
|
||||||
"float on, match:class codium|codium-url-handler|VSCodium, match:title negative:.*(?:codium|VSCodium).*"
|
|
||||||
"float on, match:class com\.heroicgameslauncher\.hgl, match:title negative Heroic Games Launcher"
|
|
||||||
"float on, match:class [Ss]team, match:title negative:[Ss]team"
|
|
||||||
"float on, match:class [Tt]hunar, match:title negative:.*[Tt]hunar.*"
|
|
||||||
"float on, match:class galculator"
|
|
||||||
"float on, match:initial_title Add Folder to Workspace"
|
|
||||||
"float on, match:initial_title Open Files"
|
|
||||||
"float on, match:initial_title wants to save"
|
|
||||||
|
|
||||||
# Size rules
|
|
||||||
"size 70% 60%, match:initial_title Open Files"
|
|
||||||
"size 70% 60%, match:initial_title Add Folder to Workspace"
|
|
||||||
"size 70% 70%, match:tag settings*"
|
|
||||||
|
|
||||||
# Tile rules
|
|
||||||
"tile on, match:class affinity\.exe"
|
|
||||||
"tile on, match:class dev\.zed\.Zed"
|
|
||||||
"tile on, match:class mpv"
|
|
||||||
"tile on, match:class com-cburch-logisim-Main"
|
|
||||||
|
|
||||||
# Opacity rules
|
|
||||||
"opacity 1.0 1.0, match:tag browser*"
|
|
||||||
"opacity 0.9 0.8, match:tag projects*"
|
|
||||||
"opacity 0.94 0.86, match:tag im*"
|
|
||||||
"opacity 0.85 0.75, match:tag gamestore*"
|
|
||||||
"opacity 0.9 0.8, match:tag file-manager*"
|
|
||||||
"opacity 0.8 0.7, match:tag terminal*"
|
|
||||||
"opacity 0.8 0.7, match:tag settings*"
|
|
||||||
"opacity 0.8 0.7, match:class gedit|org\.gnome\.TextEditor|mousepad"
|
|
||||||
"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
|
|
||||||
"pin on, match:title Picture-in-Picture"
|
|
||||||
"keep_aspect_ratio on, match:title Picture-in-Picture"
|
|
||||||
|
|
||||||
# Games specific rules
|
|
||||||
"no_blur on, match:tag games*"
|
|
||||||
"fullscreen on, match:tag games*"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.kdeconnect.enable = lib.mkEnableOption "KDE Connect";
|
|
||||||
|
|
||||||
config.services.kdeconnect = lib.mkIf config.kdeconnect.enable {
|
|
||||||
enable = true;
|
|
||||||
indicator = true;
|
|
||||||
package = pkgs.kdePackages.kdeconnect-kde;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.kitty;
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./extra-config.nix
|
|
||||||
./settings.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
_: {
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
_: {
|
|
||||||
programs.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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.librewolf.enable = lib.mkEnableOption "LibreWolf";
|
|
||||||
|
|
||||||
config.programs.librewolf = lib.mkIf config.librewolf.enable {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.librewolf;
|
|
||||||
# nativeMessagingHosts = [pkgs.firefoxpwa];
|
|
||||||
languagePacks = [
|
|
||||||
"pl"
|
|
||||||
"en-US"
|
|
||||||
];
|
|
||||||
settings = {
|
|
||||||
# LibreWolf settings
|
|
||||||
"network.http.referer.XOriginPolicy" = 2;
|
|
||||||
"privacy.resistFingerprinting.letterboxing" = true;
|
|
||||||
"privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true;
|
|
||||||
};
|
|
||||||
policies = {
|
|
||||||
# Policies (about:policies#documentation)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./profiles
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{host, ...}: {
|
|
||||||
programs.librewolf.profiles."${host}" = {
|
|
||||||
id = 0;
|
|
||||||
isDefault = true;
|
|
||||||
name = "${host}";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./extensions.nix
|
|
||||||
./search.nix
|
|
||||||
./settings.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
inputs,
|
|
||||||
system,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
# about:debugging#/runtime/this-firefox Przydatne do wyszukiwania ID rozszerzenia
|
|
||||||
# programs.librewolf.profiles."${host}".extensions.force = true;
|
|
||||||
programs.librewolf.profiles."${host}".extensions.packages = with inputs.firefox-addons.packages.${system}; [
|
|
||||||
bitwarden
|
|
||||||
floccus
|
|
||||||
ublock-origin
|
|
||||||
sponsorblock
|
|
||||||
darkreader
|
|
||||||
# flagfox
|
|
||||||
hoppscotch
|
|
||||||
return-youtube-dislikes
|
|
||||||
sponsorblock
|
|
||||||
# pwas-for-firefox
|
|
||||||
mtab
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,210 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.librewolf.profiles."${host}".search = {
|
|
||||||
default = "garand's-search";
|
|
||||||
privateDefault = "garand's-search";
|
|
||||||
force = true;
|
|
||||||
engines = {
|
|
||||||
"garand's-search" = {
|
|
||||||
definedAliases = ["@g"];
|
|
||||||
urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}];
|
|
||||||
# suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}"; Not implemented in home-manager ☹️
|
|
||||||
};
|
|
||||||
"youtube" = {
|
|
||||||
definedAliases = ["@yt"];
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.youtube.com/results";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "search_query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"wikipedia-pl" = {
|
|
||||||
definedAliases = ["@w"];
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://pl.wikipedia.org/w/index.php";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "search";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"stackoverflow" = {
|
|
||||||
definedAliases = ["@so"];
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://stackoverflow.com/search";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"nix-packages" = {
|
|
||||||
definedAliases = ["@np"];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://search.nixos.org/packages?channel=unstable";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"nix-options" = {
|
|
||||||
definedAliases = ["@no"];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"nix-wiki" = {
|
|
||||||
definedAliases = ["@nw"];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://wiki.nixos.org/w/index.php";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "search";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"home-manager-option" = {
|
|
||||||
definedAliases = ["@hmo"];
|
|
||||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=master";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"eneba" = {
|
|
||||||
definedAliases = ["@en"];
|
|
||||||
icon = "https://static.eneba.games/branding/v2/logoFull.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.eneba.com/pl/store/all";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "text";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"kinguin" = {
|
|
||||||
definedAliases = ["@ki"];
|
|
||||||
icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.kinguin.net/listing?active=1&hideUnavailable=0&type=kinguin";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "phrase";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"instant-gaming" = {
|
|
||||||
definedAliases = ["@ig"];
|
|
||||||
icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.instant-gaming.com/pl/search/";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"morele" = {
|
|
||||||
definedAliases = ["@mo"];
|
|
||||||
icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.morele.net/wyszukiwarka/";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"x-kom" = {
|
|
||||||
definedAliases = ["@xk"];
|
|
||||||
icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.x-kom.pl/szukaj";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "q";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
"komputronik" = {
|
|
||||||
definedAliases = ["@kp"];
|
|
||||||
icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg";
|
|
||||||
urls = [
|
|
||||||
{
|
|
||||||
template = "https://www.komputronik.pl/search/category/1";
|
|
||||||
params = [
|
|
||||||
{
|
|
||||||
name = "query";
|
|
||||||
value = "{searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
"google".metaData.hidden = true;
|
|
||||||
"bing".metaData.hidden = true;
|
|
||||||
"perplexity".metaData.hidden = true;
|
|
||||||
"wolnelektury-pl".metaData.hidden = true;
|
|
||||||
"policy-DuckDuckGo Lite".metaData.hidden = true;
|
|
||||||
"policy-MetaGer".metaData.hidden = true;
|
|
||||||
"policy-Mojeek".metaData.hidden = true;
|
|
||||||
"policy-SearXNG - searx.be".metaData.hidden = true;
|
|
||||||
"policy-StartPage".metaData.hidden = true;
|
|
||||||
|
|
||||||
"allegro-pl".metaData.alias = "@al";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
host,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.librewolf.profiles."${host}".settings = lib.mkForce {
|
|
||||||
# Preferences (about:config)
|
|
||||||
"general.useragent.locale" = "pl";
|
|
||||||
"intl.locale.requested" = "pl,en-US";
|
|
||||||
"intl.accept_languages" = "pl,en-US";
|
|
||||||
|
|
||||||
"extensions.autoDisableScopes" = 0;
|
|
||||||
|
|
||||||
"font.default.x-western" = "FiraCode Nerd Font";
|
|
||||||
"font.name.monospace.x-western" = "FiraCode Nerd Font Mono";
|
|
||||||
"font.name.sans-serif.x-western" = "FiraCode Nerd Font Propo";
|
|
||||||
"font.name.serif.x-western" = "FiraCode Nerd Font";
|
|
||||||
|
|
||||||
"layout.css.prefers-color-scheme.content-override" = 0;
|
|
||||||
"layout.css.font-visibility" = 1;
|
|
||||||
|
|
||||||
"browser.tabs.insertRelatedAfterCurrent" = true;
|
|
||||||
"browser.sessionstore.resume_from_crash" = true;
|
|
||||||
"browser.sessionstore.resume_session_once" = true;
|
|
||||||
"browser.toolbars.bookmarks.visibility" = "never";
|
|
||||||
|
|
||||||
"browser.search.update" = true;
|
|
||||||
|
|
||||||
"sidebar.main.tools" = "history,bookmarks";
|
|
||||||
"sidebar.revamp" = true;
|
|
||||||
"sidebar.verticalTabs" = true;
|
|
||||||
|
|
||||||
"browser.eme.ui.enabled" = true;
|
|
||||||
"media.eme.enabled" = true;
|
|
||||||
|
|
||||||
"privacy.donottrackheader.enabled" = true;
|
|
||||||
"privacy.clearOnShutdown.history" = true;
|
|
||||||
|
|
||||||
"network.trr.mode" = 3;
|
|
||||||
"network.trr.uri" = "https://dns.mullvad.net/dns-query";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.lutris.enable = lib.mkEnableOption "Lutris";
|
|
||||||
|
|
||||||
config.programs.lutris = lib.mkIf config.lutris.enable {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.lutris;
|
|
||||||
protonPackages = [pkgs.proton-ge-bin];
|
|
||||||
winePackages = [pkgs.wineWowPackages.waylandFull];
|
|
||||||
defaultWinePackage = pkgs.wineWowPackages.waylandFull;
|
|
||||||
steamPackage = pkgs.steam;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options.nextcloud-client.enable = lib.mkEnableOption "Nextcloud Client";
|
|
||||||
|
|
||||||
config.services.nextcloud-client = lib.mkIf config.nextcloud-client.enable {
|
|
||||||
enable = true;
|
|
||||||
startInBackground = true;
|
|
||||||
package = pkgs.nextcloud-client;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
stylix = config.stylix.base16Scheme;
|
|
||||||
in {
|
|
||||||
programs.noctalia-shell.colors = lib.mkForce {
|
|
||||||
mPrimary = "#${stylix.base04}";
|
|
||||||
mOnPrimary = "#${stylix.base00}";
|
|
||||||
|
|
||||||
mSecondary = "#${stylix.base05}";
|
|
||||||
mOnSecondary = "#${stylix.base00}";
|
|
||||||
|
|
||||||
mTertiary = "#${stylix.base03}";
|
|
||||||
mOnTertiary = "#${stylix.base00}";
|
|
||||||
|
|
||||||
mError = "#${stylix.base02}";
|
|
||||||
mOnError = "#${stylix.base00}";
|
|
||||||
|
|
||||||
mSurface = "#${stylix.base01}";
|
|
||||||
mOnSurface = "#${stylix.base0E}";
|
|
||||||
|
|
||||||
mSurfaceVariant = "#${stylix.base00}";
|
|
||||||
mOnSurfaceVariant = "#${stylix.base0A}";
|
|
||||||
|
|
||||||
mOutline = "#${stylix.base08}";
|
|
||||||
mShadow = "#${stylix.base00}";
|
|
||||||
|
|
||||||
mOnHover = "#${stylix.base0B}";
|
|
||||||
mHover = "#${stylix.base00}";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
lib,
|
|
||||||
inputs,
|
|
||||||
system,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs.noctalia-shell = {
|
|
||||||
enable = true;
|
|
||||||
package = inputs.noctalia.packages.${system}.default.override {
|
|
||||||
calendarSupport = true;
|
|
||||||
};
|
|
||||||
systemd.enable = true;
|
|
||||||
settings.settingsVersion = lib.mkForce 46;
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./settings
|
|
||||||
./colors.nix
|
|
||||||
./plugins.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user