tmp
This commit is contained in:
118
flake.lock
generated
118
flake.lock
generated
@@ -14,11 +14,11 @@
|
|||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730387901,
|
"lastModified": 1730835992,
|
||||||
"narHash": "sha256-XnO0bx330mgfiLGIEnUEH4fBhKx5DcZTXl47VjLCeok=",
|
"narHash": "sha256-XYr4WQMxJdZkrQlsouyURMY4iNL5SS2RlQ7XGnjEQBU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "authentik-nix",
|
"repo": "authentik-nix",
|
||||||
"rev": "74b5a8c5ffbca16f7af1def137e06a97a958a098",
|
"rev": "5af11599eaec65b5b6e6e39d77b541db361c08aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -30,16 +30,16 @@
|
|||||||
"authentik-src": {
|
"authentik-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730315123,
|
"lastModified": 1730826392,
|
||||||
"narHash": "sha256-UYOdBlkGeIGCG/pCGLANWv1bKTdBEUp6jTiLG7BpY7E=",
|
"narHash": "sha256-EuNOfMy7yVa1OqWwCtNtmdeIQeQCTCKBXgJdz0QCPIU=",
|
||||||
"owner": "goauthentik",
|
"owner": "goauthentik",
|
||||||
"repo": "authentik",
|
"repo": "authentik",
|
||||||
"rev": "e8b5e4c1272151f4a3666e53754f7deefb8e2fb3",
|
"rev": "665de8ef2211524f3cc13dce9344bd59c61c3a5c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "goauthentik",
|
"owner": "goauthentik",
|
||||||
"ref": "version/2024.8.4",
|
"ref": "version/2024.10.1",
|
||||||
"repo": "authentik",
|
"repo": "authentik",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -52,11 +52,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730555728,
|
"lastModified": 1730767100,
|
||||||
"narHash": "sha256-jBr4WUPat+R/79DBdk85hKyqDfoJII4Z+V+GoevYNDY=",
|
"narHash": "sha256-SGkgP2H+i1jewNFBuAs4+grutNrfm5by+JUERUdXIRo=",
|
||||||
"owner": "chaotic-cx",
|
"owner": "chaotic-cx",
|
||||||
"repo": "nyx",
|
"repo": "nyx",
|
||||||
"rev": "e734744bc2e9ca9aa577555bf028c5ea51eb5f77",
|
"rev": "f8969fe1947ed81785a9e52f62622c03d3e58971",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -76,11 +76,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730597759,
|
"lastModified": 1730830166,
|
||||||
"narHash": "sha256-DStWygV/fV3aU8VWN4wIG4Mjpq7s540gUD4A103u+Zo=",
|
"narHash": "sha256-F2SA8PkrV+Ed8WZKwEimO2oBxQJFJU2ni/wqIbupX4Y=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "db3975340480a6c2532398991f3a47f74df17eed",
|
"rev": "49ee81f51e7449314af27915f3719cc76e9abe1f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -178,11 +178,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726153070,
|
"lastModified": 1727826117,
|
||||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -295,11 +295,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730016908,
|
"lastModified": 1730633670,
|
||||||
"narHash": "sha256-bFCxJco7d8IgmjfNExNz9knP8wvwbXU4s/d53KOK6U0=",
|
"narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e83414058edd339148dc142a8437edb9450574c8",
|
"rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -373,11 +373,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730248099,
|
"lastModified": 1730625581,
|
||||||
"narHash": "sha256-Fl7BSdpLk0uTXF6ol/MR0q1EB4XQ8tn0ftig0pyYh5Y=",
|
"narHash": "sha256-vFxtzNCxtUIrmv8tluquZHjNTwMkCGtT0NCoVuwlqd4=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "c11bab124fc55a37cbd854ed28ea121ed609231f",
|
"rev": "e6195c6bfc037617e20d6d7d4d6c9cdeee6aba6d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -444,11 +444,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730600078,
|
"lastModified": 1730779758,
|
||||||
"narHash": "sha256-BoyFmE59HDF3uybBySsWVoyjNuHvz3Wv8row/mSb958=",
|
"narHash": "sha256-5WI9AnsBwhLzVRnQm3Qn9oAbROnuLDQTpaXeyZCK8qw=",
|
||||||
"owner": "LnL7",
|
"owner": "LnL7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "4652874d014b82cb746173ffc64f6a70044daa7e",
|
"rev": "0e3f3f017c14467085f15d42343a3aaaacd89bcb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -466,11 +466,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1703863825,
|
"lastModified": 1729742964,
|
||||||
"narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=",
|
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-github-actions",
|
"repo": "nix-github-actions",
|
||||||
"rev": "5163432afc817cf8bd1f031418d1869e4c9d5547",
|
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -524,11 +524,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730537918,
|
"lastModified": 1730828750,
|
||||||
"narHash": "sha256-GJB1/aaTnAtt9sso/EQ77TAGJ/rt6uvlP0RqZFnWue8=",
|
"narHash": "sha256-XrnZLkLiBYNlwV5gus/8DT7nncF1TS5la6Be7rdVOpI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "f6e0cd5c47d150c4718199084e5764f968f1b560",
|
"rev": "2e78b1af8025108ecd6edaa3ab09695b8a4d3d55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -540,11 +540,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730200266,
|
"lastModified": 1730531603,
|
||||||
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=",
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd",
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -556,23 +556,23 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725233747,
|
"lastModified": 1727825735,
|
||||||
"narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
|
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1730602179,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-efgLzQAWSzJuCLiCaQUCDu4NudNlHdg2NzGLX5GYaEY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -600,11 +600,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable_3": {
|
"nixpkgs-stable_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730327045,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-xKel5kd1AbExymxoIfQ7pgcX6hjw9jCgbiBjiUfSVJ8=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "080166c15633801df010977d9d7474b4a6c549d7",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -648,11 +648,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable-small": {
|
"nixpkgs-unstable-small": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730642263,
|
"lastModified": 1730815137,
|
||||||
"narHash": "sha256-UXqvGZOHUDeAo8Sv5A5oObiQgBPELVgHQi130TU0jMU=",
|
"narHash": "sha256-/SMEl8lpjVJOH5OQ11OLn6O2DeHb0yo3oIz1mi2bvWY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "650fe87347086b30a6dbcc32b55987ce5a23c6ae",
|
"rev": "78366fc8acbc8092d898f021354ab61ca161c412",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -726,11 +726,11 @@
|
|||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727169160,
|
"lastModified": 1730284601,
|
||||||
"narHash": "sha256-m/3tT0Wvk2V4H15riZC/yT7i7t+8V58HTDpthKV5yhk=",
|
"narHash": "sha256-eHYcKVLIRRv3J1vjmxurS6HVdGphB53qxUeAkylYrZY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "poetry2nix",
|
"repo": "poetry2nix",
|
||||||
"rev": "7624b3e0275d9b52dbdda46ef7ffee66b36ff823",
|
"rev": "43a898b4d76f7f3f70df77a2cc2d40096bc9d75e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -792,11 +792,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730514457,
|
"lastModified": 1730687492,
|
||||||
"narHash": "sha256-cjFX208s9pyaOfMvF9xI6WyafyXINqdhMF7b1bMQpLI=",
|
"narHash": "sha256-xQVadjquBA/tFxDt5A55LJ1D1AvkVWsnrKC2o+pr8F4=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "1ff38ca26eb31858e4dfe7fe738b6b3ce5d74922",
|
"rev": "41814763a2c597755b0755dbe3e721367a5e420f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -852,11 +852,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable_4"
|
"nixpkgs-stable": "nixpkgs-stable_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730605784,
|
"lastModified": 1730746162,
|
||||||
"narHash": "sha256-1NveNAMLHbxOg0BpBMSVuZ2yW2PpDnZLbZ25wV50PMc=",
|
"narHash": "sha256-ZGmI+3AbT8NkDdBQujF+HIxZ+sWXuyT6X8B49etWY2g=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "e9b5eef9b51cdf966c76143e13a9476725b2f760",
|
"rev": "59d6988329626132eaf107761643f55eb979eef1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -904,11 +904,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719749022,
|
"lastModified": 1730120726,
|
||||||
"narHash": "sha256-ddPKHcqaKCIFSFc/cvxS14goUhCOAwsM1PbMr0ZtHMg=",
|
"narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "8df5ff62195d4e67e2264df0b7f5e8c9995fd0bd",
|
"rev": "9ef337e492a5555d8e17a51c911ff1f02635be15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
# Desktop
|
# Desktop
|
||||||
"matt-nixos" = nixpkgs-unstable-small.lib.nixosSystem {
|
"matt-nixos" = nixpkgs-stable.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs;
|
inherit inputs outputs;
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
./hosts/desktop/configuration.nix
|
./hosts/desktop/configuration.nix
|
||||||
./share/impermanence
|
./share/impermanence
|
||||||
chaotic.nixosModules.default
|
chaotic.nixosModules.default
|
||||||
home-manager.nixosModules.home-manager
|
home-manager-stable.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ in
|
|||||||
enableAllFirmware = lib.mkForce true;
|
enableAllFirmware = lib.mkForce true;
|
||||||
|
|
||||||
# Disable pulse audio in favor of pipewire
|
# Disable pulse audio in favor of pipewire
|
||||||
pulseaudio.enable = lib.mkDefault false;
|
pulseaudio.enable = lib.mkForce false;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Services configs
|
# Services configs
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
let
|
let
|
||||||
configLimit = 5;
|
configLimit = 5;
|
||||||
default = "@saved";
|
default = "@saved";
|
||||||
kernel = pkgs.linuxPackages_latest;
|
kernel = pkgs.unstable.linuxPackages_latest;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Configure bootloader with lanzaboot and secureboot
|
# Configure bootloader with lanzaboot and secureboot
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
# outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
@@ -27,8 +27,80 @@ let
|
|||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
fixWifiScript = pkgs.writeScriptBin "fix-wifi" ''
|
fixWifiScript = pkgs.writeScriptBin "fix-wifi" ''
|
||||||
/home/matt/nix-config/scripts/fix-wifi.py
|
#!/usr/bin/env python3
|
||||||
'';
|
|
||||||
|
import subprocess
|
||||||
|
import socket
|
||||||
|
import logging
|
||||||
|
from typing import List, Optional
|
||||||
|
|
||||||
|
def check_internet_connection(hosts_to_check: Optional[List[str]] = None) -> bool:
|
||||||
|
"""
|
||||||
|
Check internet connectivity by attempting to connect to reliable hosts.
|
||||||
|
|
||||||
|
:param hosts_to_check: Optional list of hosts to check.
|
||||||
|
:return: Boolean indicating if internet connection is available
|
||||||
|
"""
|
||||||
|
if hosts_to_check is None:
|
||||||
|
hosts_to_check = [
|
||||||
|
"8.8.8.8", # Google DNS
|
||||||
|
"1.1.1.1", # Cloudflare DNS
|
||||||
|
"9.9.9.9" # Quad9 DNS
|
||||||
|
]
|
||||||
|
|
||||||
|
for host in hosts_to_check:
|
||||||
|
try:
|
||||||
|
# Create a socket connection with a 5-second timeout
|
||||||
|
socket.create_connection((host, 53), timeout=5)
|
||||||
|
return True
|
||||||
|
except (socket.error, socket.timeout):
|
||||||
|
continue
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
def reset_wifi_card() -> bool:
|
||||||
|
"""
|
||||||
|
Execute WiFi card reset commands.
|
||||||
|
|
||||||
|
:return: Boolean indicating if reset commands were successful
|
||||||
|
"""
|
||||||
|
reset_commands = [
|
||||||
|
"echo 1 | sudo -u root tee /sys/bus/pci/devices/0000:09:00.0/reset",
|
||||||
|
"sudo rmmod iwlwifi",
|
||||||
|
"sudo modprobe iwlwifi"
|
||||||
|
]
|
||||||
|
|
||||||
|
try:
|
||||||
|
for command in reset_commands:
|
||||||
|
result = subprocess.run(
|
||||||
|
command,
|
||||||
|
shell=True,
|
||||||
|
check=True,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE,
|
||||||
|
text=True
|
||||||
|
)
|
||||||
|
print(f"Executed: {command}")
|
||||||
|
print(f"Output: {result.stdout}")
|
||||||
|
return True
|
||||||
|
except subprocess.CalledProcessError as e:
|
||||||
|
print(f"Error resetting WiFi: {e}")
|
||||||
|
print(f"Error output: {e.stderr}")
|
||||||
|
return False
|
||||||
|
|
||||||
|
def main():
|
||||||
|
"""
|
||||||
|
Check internet connection and reset WiFi if not connected.
|
||||||
|
"""
|
||||||
|
if not check_internet_connection():
|
||||||
|
print("No internet connection detected. Attempting WiFi reset...")
|
||||||
|
reset_wifi_card()
|
||||||
|
else:
|
||||||
|
print("Internet connection is stable. No reset needed.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -211,7 +283,9 @@ in
|
|||||||
kdePackages.ksvg
|
kdePackages.ksvg
|
||||||
lact
|
lact
|
||||||
memtest86-efi
|
memtest86-efi
|
||||||
memtest86plus
|
memtest86plus
|
||||||
|
unstable.mesa
|
||||||
|
unstable.driversi686Linux.mesa
|
||||||
nano
|
nano
|
||||||
onlyoffice-bin
|
onlyoffice-bin
|
||||||
os-prober
|
os-prober
|
||||||
@@ -270,9 +344,12 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# Configure nixpkgs
|
# Configure nixpkgs
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs = {
|
||||||
# ...
|
overlays = [ outputs.overlays.nixpkgs-unstable ];
|
||||||
];
|
config.permittedInsecurePackages = [
|
||||||
|
# ...
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users."${user}" = {
|
users.users."${user}" = {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
displayManager.defaultSession = "gnome";
|
displayManager.defaultSession = "gnome";
|
||||||
|
|
||||||
# Enable Flatpak
|
# Enable Flatpak
|
||||||
flatpak.enable = true;
|
flatpak.enable = false;
|
||||||
|
|
||||||
# disable plasma
|
# disable plasma
|
||||||
displayManager.sddm.enable = false;
|
displayManager.sddm.enable = false;
|
||||||
@@ -28,9 +28,10 @@
|
|||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
colloid-gtk-theme
|
colloid-gtk-theme
|
||||||
gnome-tweaks
|
unstable.gnome-tweaks
|
||||||
gnomeExtensions.appindicator
|
gnomeExtensions.appindicator
|
||||||
gnomeExtensions.arcmenu
|
gnomeExtensions.arcmenu
|
||||||
|
gnomeExtensions.dash-to-dock
|
||||||
gnomeExtensions.dash-to-panel
|
gnomeExtensions.dash-to-panel
|
||||||
gnomeExtensions.tiling-assistant
|
gnomeExtensions.tiling-assistant
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
|
"org/gnome/desktop/interface".font-antialiasing = "grayscale";
|
||||||
"org/gnome/desktop/interface".font-hinting = "slight";
|
"org/gnome/desktop/interface".font-hinting = "slight";
|
||||||
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
|
"org/gnome/desktop/interface".gtk-theme = lib.mkDefault "Colloid-Dark";
|
||||||
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-Dark";
|
"org/gnome/desktop/interface".icon-theme = lib.mkDefault "Colloid-dark";
|
||||||
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
|
"org/gnome/desktop/peripherals/mouse".accel-profile = "flat";
|
||||||
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
|
"org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true;
|
||||||
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
"org/gnome/desktop/peripherals/touchpad".tap-to-click = true;
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
"appindicatorsupport@rgcjonas.gmail.com"
|
"appindicatorsupport@rgcjonas.gmail.com"
|
||||||
"arcmenu@arcmenu.com"
|
"arcmenu@arcmenu.com"
|
||||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||||
"dash-to-panel@jderose9.github.com"
|
|
||||||
"tiling-assistant@leleat-on-github"
|
"tiling-assistant@leleat-on-github"
|
||||||
|
"dash-to-dock@micxgx.gmail.com"
|
||||||
];
|
];
|
||||||
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
|
"org/gnome/shell/extensions/dash-to-panel".primary-monitor = 1;
|
||||||
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
|
"org/gnome/shell/extensions/dash-to-panel".multi-monitors = false;
|
||||||
|
|||||||
@@ -58,23 +58,21 @@ in
|
|||||||
programs.command-not-found.enable = true;
|
programs.command-not-found.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# gamescope # using chaotic git version
|
|
||||||
# gamescope-wsi # using chaotic git version
|
|
||||||
age
|
age
|
||||||
apple-cursor
|
apple-cursor
|
||||||
bottles
|
bottles
|
||||||
chromium
|
chromium
|
||||||
colloid-icon-theme
|
colloid-icon-theme
|
||||||
colloid-kde
|
colloid-kde
|
||||||
compose2nix
|
unstable.compose2nix
|
||||||
coolercontrol.coolercontrol-gui
|
coolercontrol.coolercontrol-gui
|
||||||
deadnix
|
deadnix
|
||||||
discord
|
discord
|
||||||
fastfetch
|
fastfetch
|
||||||
firefox
|
firefox
|
||||||
freerdp
|
freerdp
|
||||||
gamescope_git
|
gamescope
|
||||||
gamescope-wsi_git
|
gamescope-wsi
|
||||||
goverlay
|
goverlay
|
||||||
heroic
|
heroic
|
||||||
home-manager
|
home-manager
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
adwaita-icon-theme
|
unstable.adwaita-icon-theme
|
||||||
apple-cursor
|
apple-cursor
|
||||||
catppuccin-sddm
|
catppuccin-sddm
|
||||||
colloid-gtk-theme
|
colloid-gtk-theme
|
||||||
@@ -19,19 +19,19 @@ in
|
|||||||
ddcutil
|
ddcutil
|
||||||
dunst
|
dunst
|
||||||
egl-wayland
|
egl-wayland
|
||||||
file-roller
|
unstable.file-roller
|
||||||
glib
|
glib
|
||||||
gnome-tweaks
|
unstable.gnome-tweaks
|
||||||
gnome-disk-utility
|
unstable.gnome-disk-utility
|
||||||
gnome-system-monitor
|
unstable.gnome-system-monitor
|
||||||
gsettings-desktop-schemas
|
unstable.gsettings-desktop-schemas
|
||||||
hyprcursor
|
hyprcursor
|
||||||
hyprland
|
hyprland
|
||||||
hyprshot
|
hyprshot
|
||||||
libnotify
|
libnotify
|
||||||
mako
|
mako
|
||||||
meson
|
meson
|
||||||
nautilus
|
unstable.nautilus
|
||||||
networkmanagerapplet
|
networkmanagerapplet
|
||||||
nm-tray
|
nm-tray
|
||||||
nwg-drawer
|
nwg-drawer
|
||||||
|
|||||||
@@ -17,6 +17,10 @@
|
|||||||
group = "authentik";
|
group = "authentik";
|
||||||
mode = "u=rwx,g=,o=";
|
mode = "u=rwx,g=,o=";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
directory = "/var/lib/private";
|
||||||
|
mode = "u=rwx,g=rx,o=";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
directory = "/var/lib/colord";
|
directory = "/var/lib/colord";
|
||||||
user = "colord";
|
user = "colord";
|
||||||
|
|||||||
@@ -6,6 +6,24 @@ in
|
|||||||
# Services configs
|
# Services configs
|
||||||
services = {
|
services = {
|
||||||
|
|
||||||
|
caddy = {
|
||||||
|
enable = false;
|
||||||
|
email = "jalle008@proton.me";
|
||||||
|
enableReload = true;
|
||||||
|
user = "nix-apps";
|
||||||
|
group = "jallen-nas";
|
||||||
|
dataDir = "/media/nas/ssd/nix-app-data/caddy";
|
||||||
|
|
||||||
|
virtualHosts = {
|
||||||
|
"authentik.mjallen.dev".extraConfig = ''
|
||||||
|
reverse_proxy http://10.0.1.18:9000
|
||||||
|
'';
|
||||||
|
"jellyfin.mjallen.dev".extraConfig = ''
|
||||||
|
reverse_proxy http://10.0.1.18:8096
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
minecraft-server = {
|
minecraft-server = {
|
||||||
enable = true;
|
enable = true;
|
||||||
eula = true;
|
eula = true;
|
||||||
@@ -135,6 +153,7 @@ in
|
|||||||
"--advertise-exit-node"
|
"--advertise-exit-node"
|
||||||
"--accept-dns=false"
|
"--accept-dns=false"
|
||||||
"--advertise-routes=10.0.1.0/24"
|
"--advertise-routes=10.0.1.0/24"
|
||||||
|
"--hostname=jallen-nas"
|
||||||
];
|
];
|
||||||
extraSetFlags = [
|
extraSetFlags = [
|
||||||
"--advertise-exit-node"
|
"--advertise-exit-node"
|
||||||
|
|||||||
@@ -4,14 +4,13 @@
|
|||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
cfg = config.share.hardware.amd;
|
cfg = config.share.hardware.amd;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
boot.kernelParams = [ (if cfg.enable then "amdgpu.ppfeaturemask=0xffffffff" else null) ];
|
boot.kernelParams = [ (if cfg.enable then "amdgpu.ppfeaturemask=0xffffffff" else null) ];
|
||||||
|
|
||||||
# Configure programs
|
# Configure programs
|
||||||
@@ -26,9 +25,11 @@ in
|
|||||||
# Hardware configs
|
# Hardware configs
|
||||||
hardware = {
|
hardware = {
|
||||||
# Enable graphics
|
# Enable graphics
|
||||||
graphics = {
|
opengl = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true;
|
extraPackages = [ pkgs.unstable.mesa ];
|
||||||
|
driSupport32Bit = true;
|
||||||
|
extraPackages32 = [ pkgs.unstable.pkgsi686Linux.mesa ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -49,7 +50,7 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
# nixpkg is broken so need to manually define
|
# nixpkg is broken so need to manually define
|
||||||
systemd.services.lactd = mkIf cfg.lact.enable {
|
systemd.services.lactd = lib.mkIf cfg.lact.enable {
|
||||||
description = "AMDGPU Control Daemon";
|
description = "AMDGPU Control Daemon";
|
||||||
path = [
|
path = [
|
||||||
pkgs.bash
|
pkgs.bash
|
||||||
@@ -64,7 +65,7 @@ in
|
|||||||
|
|
||||||
# Configure environment
|
# Configure environment
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = mkIf cfg.lact.enable [ pkgs.lact ];
|
systemPackages = lib.mkIf cfg.lact.enable [ pkgs.lact ];
|
||||||
sessionVariables = lib.mkDefault { STEAM_FORCE_DESKTOPUI_SCALING = "1"; };
|
sessionVariables = lib.mkDefault { STEAM_FORCE_DESKTOPUI_SCALING = "1"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
{ lib, config, ... }:
|
{ lib, config, ... }:
|
||||||
with lib;
|
|
||||||
let
|
let
|
||||||
cfg = config.share.gaming;
|
cfg = config.share.gaming;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [ ./options.nix ];
|
imports = [ ./options.nix ];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
# Network option required using sysctl to let Ubisoft Connect work as of 7-12-2023
|
# Network option required using sysctl to let Ubisoft Connect work as of 7-12-2023
|
||||||
boot.kernel.sysctl."net.ipv4.tcp_mtu_probing" = 1;
|
boot.kernel.sysctl."net.ipv4.tcp_mtu_probing" = 1;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user