Added working example
This commit is contained in:
Generated
+490
@@ -0,0 +1,490 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772408722,
|
||||||
|
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"stylix",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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": 1773332277,
|
||||||
|
"narHash": "sha256-1V+wRrZD9Sw12AQBUWk9CR+XhDZQ8q6yBE0S3Wjbd1M=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "4aeef1941f862fe3a70d1b8264b4e289358c2325",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"import-tree": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772999353,
|
||||||
|
"narHash": "sha256-dPb0WxUhFaz6wuR3B6ysqFJpsu8txKDPZvS47AT2XLI=",
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"rev": "545a4df146fce44d155573e47f5a777985acf912",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "vic",
|
||||||
|
"repo": "import-tree",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773122722,
|
||||||
|
"narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772328832,
|
||||||
|
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nixpkgs.lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1770107345,
|
||||||
|
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noctalia": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"noctalia-qs": [
|
||||||
|
"noctalia-qs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773350972,
|
||||||
|
"narHash": "sha256-zzvM67T3qiTfa5701H1vDfZ3QxTdvKK3eV83V8HQrLo=",
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-shell",
|
||||||
|
"rev": "c15fb85c53a39a53e923a866801c48717c6803e7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-shell",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noctalia-qs": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": "systems",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773277895,
|
||||||
|
"narHash": "sha256-pK01O5J9ogI4rVtDI+PVxckaXqpYZ4uthY0vgVWdyl8=",
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-qs",
|
||||||
|
"rev": "d5209a6b5fe8c6dff8d530e820c96f09830011e3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "noctalia-dev",
|
||||||
|
"repo": "noctalia-qs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": [
|
||||||
|
"stylix",
|
||||||
|
"flake-parts"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"stylix",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"import-tree": "import-tree",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"noctalia": "noctalia",
|
||||||
|
"noctalia-qs": "noctalia-qs",
|
||||||
|
"stylix": "stylix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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_2",
|
||||||
|
"tinted-foot": "tinted-foot",
|
||||||
|
"tinted-kitty": "tinted-kitty",
|
||||||
|
"tinted-schemes": "tinted-schemes",
|
||||||
|
"tinted-tmux": "tinted-tmux",
|
||||||
|
"tinted-zed": "tinted-zed"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772296853,
|
||||||
|
"narHash": "sha256-pAtzPsgHRKw/2Kv8HgAjSJg450FDldHPWsP3AKG/Xj0=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
|
"rev": "c4b8e80a1020e09a1f081ad0f98ce804a6e85acf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "stylix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1689347949,
|
||||||
|
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default-linux",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems_2": {
|
||||||
|
"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_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772660329,
|
||||||
|
"narHash": "sha256-IjU1FxYqm+VDe5qIOxoW+pISBlGvVApRjiw/Y/ttJzY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"rev": "3710e0e1218041bbad640352a0440114b1e10428",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "treefmt-nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
description = "Dendritic NixOS Configuration";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
import-tree.url = "github:vic/import-tree";
|
||||||
|
|
||||||
|
noctalia = {
|
||||||
|
url = "github:noctalia-dev/noctalia-shell";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.noctalia-qs.follows = "noctalia-qs";
|
||||||
|
};
|
||||||
|
|
||||||
|
noctalia-qs = {
|
||||||
|
url = "github:noctalia-dev/noctalia-qs";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix = {
|
||||||
|
url = "github:nix-community/stylix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs@{ flake-parts, import-tree, ... }:
|
||||||
|
flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
|
# flake-parts requires you to define systems
|
||||||
|
systems = [ "x86_64-linux" ];
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(import-tree ./modules) # Auto-loads your features
|
||||||
|
./hosts/nixovm/nixovm.nix # Explicitly loads your grouped host
|
||||||
|
./hosts/omenixos/omenixos.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/cc3cc0f4-b589-454b-9d73-2707f25952c0";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# hosts/nixovm/nixovm.nix
|
||||||
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosConfigurations."nixovm" = inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
] ++
|
||||||
|
(builtins.attrValues config.flake.nixosModules) ++
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
({ ... }: {
|
||||||
|
networking.hostName = "nixovm";
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
swapDevices = [ {
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 4096; # 4 GB
|
||||||
|
} ];
|
||||||
|
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.device = "/dev/vda";
|
||||||
|
boot.loader.grub.useOSProber = true;
|
||||||
|
|
||||||
|
# Enable various user-defined modules
|
||||||
|
mySystem = {
|
||||||
|
# Turn on the core system
|
||||||
|
system.core.enable = true;
|
||||||
|
|
||||||
|
# Enable Apps
|
||||||
|
apps.foot.enable = true;
|
||||||
|
apps.yazi.enable = true;
|
||||||
|
|
||||||
|
# Define Environment
|
||||||
|
desktop.hyprland.enable = true;
|
||||||
|
desktop.noctalia.enable = true;
|
||||||
|
desktop.stylix.enable = true;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/ba16b576-efa5-41d6-a61b-30cec1f7d946";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/6503-E57A";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/f2bbfa41-0b04-4466-8af7-a68821be0d79"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosConfigurations."omenixos" = inputs.nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
|
||||||
|
modules =
|
||||||
|
[
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
inputs.stylix.nixosModules.stylix
|
||||||
|
] ++
|
||||||
|
(builtins.attrValues config.flake.nixosModules) ++
|
||||||
|
[
|
||||||
|
./hardware-configuration.nix
|
||||||
|
|
||||||
|
({ ... }: {
|
||||||
|
networking.hostName = "omenixos";
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
loader = {
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
efiSupport = true;
|
||||||
|
device = "nodev";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
initrd.systemd.tpm2.enable = false;
|
||||||
|
kernelParams = [
|
||||||
|
"systemd.mask=dev-tpm0.device"
|
||||||
|
"systemd.mask=dev-tpmrm0.device"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.tpm2.enable = false;
|
||||||
|
|
||||||
|
|
||||||
|
# --- 2TB SHARED DRIVE MOUNT ---
|
||||||
|
fileSystems."/mnt/shared" = {
|
||||||
|
device = "/dev/disk/by-uuid/72925CFC925CC66F";
|
||||||
|
fsType = "ntfs3";
|
||||||
|
options = [ "rw" "uid=1000" "gid=100" "dmask=0022" "fmask=0133" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable various user-defined modules
|
||||||
|
mySystem = {
|
||||||
|
# Turn on the core system
|
||||||
|
system.core.enable = true;
|
||||||
|
|
||||||
|
# Hardware-specific modules
|
||||||
|
hardware.nvidia.enable = true;
|
||||||
|
|
||||||
|
# Enable Apps
|
||||||
|
apps = {
|
||||||
|
foot.enable = true;
|
||||||
|
yazi.enable = true;
|
||||||
|
neovim.enable = true;
|
||||||
|
fastfetch.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Define Environment
|
||||||
|
desktop = {
|
||||||
|
hyprland.enable = true;
|
||||||
|
noctalia.enable = true;
|
||||||
|
stylix.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.fastfetch = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.apps.fastfetch;
|
||||||
|
in {
|
||||||
|
options.mySystem.apps.fastfetch.enable = lib.mkEnableOption "Personalized Fastfetch";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.fastfetch ];
|
||||||
|
|
||||||
|
home-manager.users.shonh.programs.fastfetch = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||||
|
"logo" = {
|
||||||
|
"type" = "small";
|
||||||
|
"padding" = {
|
||||||
|
"top" = 1;
|
||||||
|
"left" = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"display" = {
|
||||||
|
"separator" = " ";
|
||||||
|
};
|
||||||
|
"modules" = [
|
||||||
|
{
|
||||||
|
"key" = "╭───────────╮";
|
||||||
|
"type" = "custom";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#31} user {#keys}│";
|
||||||
|
"type" = "title";
|
||||||
|
"format" = "{user-name}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#32} hname {#keys}│";
|
||||||
|
"type" = "title";
|
||||||
|
"format" = "{host-name}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#33} uptime {#keys}│";
|
||||||
|
"type" = "uptime";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#34}{icon} distro {#keys}│";
|
||||||
|
"type" = "os";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#35} kernel {#keys}│";
|
||||||
|
"type" = "kernel";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#36} desktop {#keys}│";
|
||||||
|
"type" = "de";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#31} term {#keys}│";
|
||||||
|
"type" = "terminal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#32} shell {#keys}│";
|
||||||
|
"type" = "shell";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#33} cpu {#keys}│";
|
||||||
|
"type" = "cpu";
|
||||||
|
"showPeCoreCount" = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#34} disk {#keys}│";
|
||||||
|
"type" = "disk";
|
||||||
|
"folders" = "/";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#35} memory {#keys}│";
|
||||||
|
"type" = "memory";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "├───────────┤";
|
||||||
|
"type" = "custom";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "│ {#39} colors {#keys}│";
|
||||||
|
"type" = "colors";
|
||||||
|
"symbol" = "circle";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"key" = "╰───────────╯";
|
||||||
|
"type" = "custom";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.foot = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.apps.foot;
|
||||||
|
|
||||||
|
colors = config.lib.stylix.colors;
|
||||||
|
fonts = config.stylix.fonts;
|
||||||
|
in {
|
||||||
|
options.mySystem.apps.foot.enable = lib.mkEnableOption "Foot Terminal Emulator";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
environment.systemPackages = [ pkgs.foot ];
|
||||||
|
|
||||||
|
home-manager.users.shonh = {
|
||||||
|
stylix.targets.foot.enable = false;
|
||||||
|
|
||||||
|
programs.foot = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
main = {
|
||||||
|
term = "xterm-256color";
|
||||||
|
dpi-aware = lib.mkForce "yes";
|
||||||
|
font = "${fonts.monospace.name}:size=${toString fonts.sizes.terminal}";
|
||||||
|
};
|
||||||
|
|
||||||
|
colors-dark = {
|
||||||
|
background = colors.base00;
|
||||||
|
foreground = colors.base05;
|
||||||
|
regular0 = colors.base01; # black
|
||||||
|
regular1 = colors.base08; # red
|
||||||
|
regular2 = colors.base0B; # green
|
||||||
|
regular3 = colors.base0A; # yellow
|
||||||
|
regular4 = colors.base0D; # blue
|
||||||
|
regular5 = colors.base0E; # magenta
|
||||||
|
regular6 = colors.base0C; # cyan
|
||||||
|
regular7 = colors.base05; # white
|
||||||
|
bright0 = colors.base03; # bright black
|
||||||
|
bright1 = colors.base08;
|
||||||
|
bright2 = colors.base0B;
|
||||||
|
bright3 = colors.base0A;
|
||||||
|
bright4 = colors.base0D;
|
||||||
|
bright5 = colors.base0E;
|
||||||
|
bright6 = colors.base0C;
|
||||||
|
bright7 = colors.base07;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.git = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.apps.git;
|
||||||
|
in {
|
||||||
|
options.mySystem.apps.git.enable = lib.mkEnableOption "Git";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.git.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.shonh.programs.git = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings.user = {
|
||||||
|
name = "Shonhh";
|
||||||
|
email = "endinja.versitile@gmail.com";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.neovim = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.apps.neovim;
|
||||||
|
in {
|
||||||
|
options.mySystem.apps.neovim.enable = lib.mkEnableOption "Neovim Editor";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
programs.neovim.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.shonh.programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
# modules/apps/yazi.nix
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.yazi = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.apps.yazi;
|
||||||
|
in {
|
||||||
|
options.mySystem.apps.yazi.enable = lib.mkEnableOption "Yazi File Manager";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
home-manager.users.shonh = {
|
||||||
|
|
||||||
|
home.packages = [ pkgs.ripdrag ];
|
||||||
|
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
opener = {
|
||||||
|
edit = [
|
||||||
|
{ run = "nvim \"$@\""; block = true; desc = "Neovim"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
open = {
|
||||||
|
prepend_rules = [
|
||||||
|
{ mime = "text/*"; use = "edit"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
keymap = {
|
||||||
|
mgr.prepend_keymap = [
|
||||||
|
{
|
||||||
|
on = [ "<C-n>" ];
|
||||||
|
run = "shell 'ripdrag \"$@\" -x 2>/dev/null' --confirm --orphan";
|
||||||
|
desc = "Drag and drop selected files";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,242 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.hyprland = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.desktop.hyprland;
|
||||||
|
in {
|
||||||
|
options.mySystem.desktop.hyprland.enable = lib.mkEnableOption "Hyprland Wayland Compositor";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
# --- System Level Setup ---
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
withUWSM = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- User Level Setup
|
||||||
|
home-manager.users.shonh = {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
systemd.enable = false;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"$terminal" = "foot";
|
||||||
|
"$browser" = "vivaldi";
|
||||||
|
"$file-manager" = "foot yazi";
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
|
||||||
|
"exec-once" = [
|
||||||
|
"uwsm app -- noctalia-shell"
|
||||||
|
];
|
||||||
|
|
||||||
|
monitor = [
|
||||||
|
"Virtual-1,1280x720,auto,1"
|
||||||
|
",highres@highrr,auto,1" # Default
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
# Applications
|
||||||
|
"$mod, T, exec, uwsm app -- $terminal"
|
||||||
|
"$mod, F, exec, uwsm app -- $browser"
|
||||||
|
"$mod, E, exec, uwsm app -- $file-manager"
|
||||||
|
|
||||||
|
# Desktop Keybinds
|
||||||
|
"$mod, Delete, exit,"
|
||||||
|
"$mod+Alt, G, exec, ~/nixos/scripts/gamemode.sh"
|
||||||
|
"CTRL+ALT, W, exec, noctalia-shell kill || uwsm app -- noctalia-shell"
|
||||||
|
"$mod, A, exec, noctalia-shell ipc call launcher toggle"
|
||||||
|
"$mod, Q, killactive,"
|
||||||
|
"$mod, W, togglefloating,"
|
||||||
|
"$mod+SHIFT, F, fullscreen"
|
||||||
|
"$mod, J, togglesplit," # dwindle
|
||||||
|
|
||||||
|
# Move focus with mod + arrow keys
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
|
||||||
|
# Handling Workspaces
|
||||||
|
"$mod, 0, workspace, 10"
|
||||||
|
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
"$mod, code:36, togglespecialworkspace, terminal"
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with $mod + scroll
|
||||||
|
"$mod, mouse_down, workspace, e+1"
|
||||||
|
"$mod, mouse_up, workspace, e-1"
|
||||||
|
]
|
||||||
|
++ (
|
||||||
|
# Binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||||
|
builtins.concatLists (
|
||||||
|
builtins.genList (
|
||||||
|
i:
|
||||||
|
let
|
||||||
|
ws = i + 1;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||||
|
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||||
|
]
|
||||||
|
) 9
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mod, Z, movewindow"
|
||||||
|
"$mod, X, resizewindow"
|
||||||
|
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
"$mod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
bindel = [
|
||||||
|
",XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||||
|
",XF86MonBrightnessUp, exec, brightnessctl s 5%+"
|
||||||
|
",XF86MonBrightnessDown, exec, brightnessctl s 5%-"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
", XF86AudioNext, exec, playerctl next"
|
||||||
|
", XF86AudioPause, exec, playerctl play-pause"
|
||||||
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
", XF86AudioPrev, exec, playerctl previous"
|
||||||
|
];
|
||||||
|
|
||||||
|
# General
|
||||||
|
general = {
|
||||||
|
gaps_in = 3;
|
||||||
|
gaps_out = 8;
|
||||||
|
|
||||||
|
border_size = 2;
|
||||||
|
|
||||||
|
resize_on_border = true;
|
||||||
|
|
||||||
|
allow_tearing = false;
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Decoration
|
||||||
|
decoration = {
|
||||||
|
rounding = 7;
|
||||||
|
active_opacity = 1.0;
|
||||||
|
inactive_opacity = 1.0;
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 5;
|
||||||
|
passes = 3;
|
||||||
|
new_optimizations = "on";
|
||||||
|
ignore_opacity = "on";
|
||||||
|
xray = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# Opacity Rules
|
||||||
|
"match:class ^($terminal)$, opacity 0.80 0.80"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"10, border:false, rounding:false"
|
||||||
|
"special:terminal, on-created-empty:[float; size 960 540] $terminal, persistent:false"
|
||||||
|
];
|
||||||
|
|
||||||
|
gesture = [
|
||||||
|
"3, horizontal, workspace"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Layout configuration
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Miscellaneous
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Input
|
||||||
|
input = {
|
||||||
|
kb_layout = "us";
|
||||||
|
|
||||||
|
follow_mouse = 1;
|
||||||
|
sensitivity = 0.30;
|
||||||
|
scroll_factor = 0.5;
|
||||||
|
accel_profile = "flat";
|
||||||
|
emulate_discrete_scroll = 0;
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
disable_while_typing = false;
|
||||||
|
natural_scroll = true;
|
||||||
|
scroll_factor = 0.15;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
device = [
|
||||||
|
{
|
||||||
|
# ... add later
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Animations
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
|
||||||
|
bezier = [
|
||||||
|
"wind, 0.05, 0.85, 0.03, 0.97"
|
||||||
|
"winIn, 0.07, 0.88, 0.04, 0.99"
|
||||||
|
"winOut, 0.20, -0.15, 0, 1"
|
||||||
|
"liner, 1, 1, 1, 1"
|
||||||
|
"md3_standard, 0.12, 0, 0, 1"
|
||||||
|
"md3_decel, 0.05, 0.80, 0.10, 0.97"
|
||||||
|
"md3_accel, 0.20, 0, 0.80, 0.08"
|
||||||
|
"overshot, 0.05, 0.85, 0.07, 1.04"
|
||||||
|
"crazyshot, 0.1, 1.22, 0.68, 0.98"
|
||||||
|
"hyprnostretch, 0.05, 0.82, 0, 1"
|
||||||
|
"menu_decel, 0.05, 0.82, 0, 1"
|
||||||
|
"menu_accel, 0.20, 0, 0.82, 0.10"
|
||||||
|
"easeInOutCirc, 0.78, 0, 0.15, 1"
|
||||||
|
"easeOutCirc, 0, 0.48, 0.38, 1"
|
||||||
|
"easeOutExpo, 0.10, 0.94, 0.23, 0.98"
|
||||||
|
"softAcDecel, 0.20, 0.20, 0.15, 1"
|
||||||
|
"md2, 0.30, 0, 0.15, 1"
|
||||||
|
|
||||||
|
"OutBack, 0.28, 1.40, 0.58, 1"
|
||||||
|
];
|
||||||
|
|
||||||
|
animation = [
|
||||||
|
"border, 1, 1.6, liner"
|
||||||
|
"borderangle, 1, 82, liner, once"
|
||||||
|
"windowsIn, 1, 3.2, winIn, slide"
|
||||||
|
"windowsOut, 1, 2.8, easeOutCirc"
|
||||||
|
"windowsMove, 1, 3.0, wind, slide"
|
||||||
|
"fade, 1, 1.8, md3_decel"
|
||||||
|
"layersIn, 1, 1.8, menu_decel, slide"
|
||||||
|
"layersOut, 1, 1.5, menu_accel"
|
||||||
|
"fadeLayersIn, 1, 1.6, menu_decel"
|
||||||
|
"fadeLayersOut, 1, 1.8, menu_accel"
|
||||||
|
"workspaces, 1, 4.0, menu_decel, slide"
|
||||||
|
"specialWorkspace, 1, 2.3, md3_decel, slidefadevert 15%"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
# modules/desktop/noctalia.nix
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.noctalia = { config, lib, pkgs, inputs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.desktop.noctalia;
|
||||||
|
in {
|
||||||
|
options.mySystem.desktop.noctalia.enable = lib.mkEnableOption "Noctalia Shell";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
# Noctalia needs these background services to read battery and hardware data
|
||||||
|
mySystem.system.power-management.enable = true;
|
||||||
|
mySystem.hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
home-manager.users.shonh = {
|
||||||
|
imports = [ inputs.noctalia.homeModules.default ];
|
||||||
|
|
||||||
|
programs.noctalia-shell = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.stylix = { inputs, config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.desktop.stylix;
|
||||||
|
in {
|
||||||
|
options.mySystem.desktop.stylix.enable = lib.mkEnableOption "Stylix System Theming";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
stylix = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
image = inputs.self + "/wallpapers/wallpaper1.jpg";
|
||||||
|
polarity = "dark";
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
name = "phinger-cursors-light";
|
||||||
|
size = 24;
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
monospace = {
|
||||||
|
package = pkgs.nerd-fonts.fira-code;
|
||||||
|
name = "Fira Code Nerd Font";
|
||||||
|
};
|
||||||
|
|
||||||
|
sansSerif = {
|
||||||
|
package = pkgs.lato;
|
||||||
|
name = "Lato";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
icons = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.papirus-icon-theme;
|
||||||
|
|
||||||
|
dark = "Papirus-Dark";
|
||||||
|
light = "Papirus-Light";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.shonh.home.sessionVariables = {
|
||||||
|
XCURSOR_THEME = config.stylix.cursor.name;
|
||||||
|
XCURSOR_SIZE = toString config.stylix.cursor.size;
|
||||||
|
HYPRCURSOR_THEME = config.stylix.cursor.name;
|
||||||
|
HYPRCURSOR_SIZE = toString config.stylix.cursor.size;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
flake.nixosModules.bluetooth = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.hardware.bluetooth;
|
||||||
|
in {
|
||||||
|
options.mySystem.hardware.bluetooth.enable = lib.mkEnableOption "Bluetooth Support";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.bluetui
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.nvidia = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.hardware.nvidia;
|
||||||
|
in {
|
||||||
|
options.mySystem.hardware.nvidia.enable = lib.mkEnableOption "NVIDIA Drivers and Wayland Fixes";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
# 1. Enable OpenGL / Graphics Support
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true; # Crucial for 32-bit games (like older Terraria versions/mods)
|
||||||
|
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
nvidia-vaapi-driver
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# 2. Tell X11/Wayland to use the Nvidia driver
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
# 3. Configure the Nvidia package
|
||||||
|
hardware.nvidia = {
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
powerManagement.enable = false;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
open = false;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
|
||||||
|
# 4. Inject Wayland variables into UWSM to force NVIDIA hardware acceleration
|
||||||
|
home-manager.users.shonh = {
|
||||||
|
home.sessionVariables = {
|
||||||
|
LIBVA_DRIVER_NAME = "nvidia";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
|
||||||
|
NVD_BACKEND = "direct"; # Fixes graphical glitches in Electron/Chromium apps
|
||||||
|
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.core = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.system.core;
|
||||||
|
in {
|
||||||
|
options.mySystem.system.core.enable = lib.mkEnableOption "Core System Settings";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
|
||||||
|
# --- Flakes & Nix Settings ---
|
||||||
|
nix.settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
download-buffer-size = 536870912; # 512 MB
|
||||||
|
cores = 2;
|
||||||
|
max-jobs = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# --- Kernel ---
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
# --- Networking ---
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# --- Time & Locale ---
|
||||||
|
time.timeZone = "America/Chicago";
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_US.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||||
|
LC_MEASUREMENT = "en_US.UTF-8";
|
||||||
|
LC_MONETARY = "en_US.UTF-8";
|
||||||
|
LC_NAME = "en_US.UTF-8";
|
||||||
|
LC_NUMERIC = "en_US.UTF-8";
|
||||||
|
LC_PAPER = "en_US.UTF-8";
|
||||||
|
LC_TELEPHONE = "en_US.UTF-8";
|
||||||
|
LC_TIME = "en_US.UTF-8";
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- X11 & Login Manager ---
|
||||||
|
services.xserver.enable = true;
|
||||||
|
mySystem.system.login-manager.enable = true;
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- Services (Printing & Audio) ---
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- User Account ---
|
||||||
|
users.users.shonh = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Shonh";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- Home Manager Base ---
|
||||||
|
home-manager = {
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
|
||||||
|
users.shonh = {
|
||||||
|
home.sessionVariables = {
|
||||||
|
TERMINAL = "foot";
|
||||||
|
EDITOR = "nvim";
|
||||||
|
BROWSER = "vivaldi";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- Base Applications ---
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
tree
|
||||||
|
sl
|
||||||
|
vivaldi
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.nixosModules.login-manager = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.system.login-manager;
|
||||||
|
in {
|
||||||
|
options.mySystem.system.login-manager.enable = lib.mkEnableOption "TuiGreetd Login Manager";
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = "${pkgs.tuigreet}/bin/tuigreet -t --user-menu -r --remember-session --asterisks --sessions ${config.services.displayManager.sessionData.desktops}/share/wayland-sessions";
|
||||||
|
user = "greeter";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Push the configuration into the Flake's module pool
|
||||||
|
flake.nixosModules.bluetooth = { config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.mySystem.system.power-management;
|
||||||
|
in {
|
||||||
|
# 1. Define the custom toggle
|
||||||
|
options.mySystem.system.power-management.enable = lib.mkEnableOption "Power Management/Profiles";
|
||||||
|
|
||||||
|
# 2. Apply the configuration
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services.upower.enable = true;
|
||||||
|
services.power-profiles-daemon.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Executable
+16
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||||
|
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||||
|
hyprctl --batch "\
|
||||||
|
keyword animations:enabled 0;\
|
||||||
|
keyword decoration:shadow:enabled 0;\
|
||||||
|
keyword decoration:blur:enabled 0;\
|
||||||
|
keyword general:gaps_in 0;\
|
||||||
|
keyword general:gaps_out 0;\
|
||||||
|
keyword general:border_size 1;\
|
||||||
|
keyword decoration:rounding 0"
|
||||||
|
noctalia-shell ipc call powerProfile enableNoctaliaPerformance
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
hyprctl reload
|
||||||
|
noctalia-shell ipc call powerProfile disableNoctaliaPerformance
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 821 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 138 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
Reference in New Issue
Block a user