Compare commits

...

4 Commits

Author SHA1 Message Date
f94f6eab88
a 2023-10-08 09:51:05 +03:00
1b0956f14a
a 2023-09-24 20:11:47 +03:00
82957386a9
a 2023-09-21 21:55:07 +03:00
e32d7813b9
a 2023-09-10 21:40:39 +03:00
33 changed files with 855 additions and 206 deletions

View File

@ -9,11 +9,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1690228878, "lastModified": 1694793763,
"narHash": "sha256-9Xe7JV0krp4RJC9W9W9WutZVlw6BlHTFMiUP/k48LQY=", "narHash": "sha256-y6gTE1C9mIoSkymRYyzCmv62PFgy+hbZ5j8fuiQK5KI=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "d8c973fd228949736dedf61b7f8cc1ece3236792", "rev": "572baca9b0c592f71982fca0790db4ce311e3c75",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -101,11 +101,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1691746062, "lastModified": 1694631477,
"narHash": "sha256-FVVnNxCS2DHdo8mvRVvWZx1n2IWbdRZg+/QScTARaIY=", "narHash": "sha256-35SgWnBkWTyyRwVPyUKoShjzXfX0H1+HDdEEjZ/LsXc=",
"owner": "famedly", "owner": "famedly",
"repo": "conduit", "repo": "conduit",
"rev": "6dfb262ddff306b6712ac568aa4d84e9026f9bc9", "rev": "3bfdae795d4d9ec9aeaac7465e7535ac88e47756",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -604,6 +604,24 @@
"inputs": { "inputs": {
"nixpkgs-lib": "nixpkgs-lib_3" "nixpkgs-lib": "nixpkgs-lib_3"
}, },
"locked": {
"lastModified": 1690933134,
"narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_4"
},
"locked": { "locked": {
"lastModified": 1685662779, "lastModified": 1685662779,
"narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=", "narHash": "sha256-cKDDciXGpMEjP1n6HlzKinN0H+oLmNpgeCTzYnsA2po=",
@ -618,6 +636,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_5"
},
"locked": {
"lastModified": 1693611461,
"narHash": "sha256-aPODl8vAgGQ0ZYFIRisxYG5MOGSkIczvu2Cd8Gb9+1Y=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "7f53fdb7bdc5bb237da7fefef12d099e4fd611ca",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -691,21 +727,6 @@
} }
}, },
"flake-utils_5": { "flake-utils_5": {
"locked": {
"lastModified": 1656928814,
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_6": {
"inputs": { "inputs": {
"systems": "systems_6" "systems": "systems_6"
}, },
@ -731,11 +752,11 @@
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_3"
}, },
"locked": { "locked": {
"lastModified": 1692735437, "lastModified": 1694822684,
"narHash": "sha256-qg5wfRMcdQesaPf4tTTui2PcMvl2HzIh0hiVd50bVnA=", "narHash": "sha256-SVw6wEiMLgbVNED0y3l62Ws3PLzK8qufTRpYbvUjNm4=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "546c8ca344afe67add59af65b5548d98975d3687", "rev": "941dc6c614d684804c3580c4ae8b3c4368aab217",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -751,11 +772,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1692763155, "lastModified": 1694643239,
"narHash": "sha256-qMrGKZ8c/q/mHO3ZdrcBPwiVVXPLLgXjY98Ejqb5kAA=", "narHash": "sha256-pv2k/5FvyirDE8g4TNehzwZ0T4UOMMmqWSQnM/luRtE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "6a20e40acaebf067da682661aa67da8b36812606", "rev": "d9b88b43524db1591fb3d9410a21428198d75d49",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -971,19 +992,71 @@
"type": "github" "type": "github"
} }
}, },
"nixd": { "nh": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nix-filter": "nix-filter",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1692066861, "lastModified": 1694765281,
"narHash": "sha256-UTA2HZsFDaIR3NkIobH6dpQlGgGsEw1kL1uQhM6bO2g=", "narHash": "sha256-Edj2wyiszLXpZ6tXrZY6tJEOLJeGQAYd5cM8XfBPk1s=",
"owner": "viperML",
"repo": "nh",
"rev": "8896f7f3647d3adc24adae3d51793a6837eb2b17",
"type": "github"
},
"original": {
"owner": "viperML",
"repo": "nh",
"type": "github"
}
},
"nix-filter": {
"locked": {
"lastModified": 1687178632,
"narHash": "sha256-HS7YR5erss0JCaUijPeyg2XrisEb959FIct3n2TMGbE=",
"owner": "numtide",
"repo": "nix-filter",
"rev": "d90c75e8319d0dd9be67d933d8eb9d0894ec9174",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nix-filter",
"type": "github"
}
},
"nix-std": {
"locked": {
"lastModified": 1685917625,
"narHash": "sha256-2manVKofCZrCToVDnDYNvtYUFBYOM5JhdDoNGVY4fq4=",
"owner": "chessai",
"repo": "nix-std",
"rev": "e20af8822b5739434b875643bfc61fe0195ea2fb",
"type": "github"
},
"original": {
"owner": "chessai",
"repo": "nix-std",
"type": "github"
}
},
"nixd": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1694400214,
"narHash": "sha256-QHESodq9FQpjWshfxmdYePnEAPaNPsYEd3iBe/JYjqk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixd", "repo": "nixd",
"rev": "d1704af3bc2fffa1cbe70e29d96a1522040aaee5", "rev": "69b533e8d643c5dcbda7962d4dff808d72165783",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1014,11 +1087,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1692373088, "lastModified": 1694710316,
"narHash": "sha256-EPgCecdc9I8aTdmDNoO1l7R72r2WPhZRcesV4nzxBj8=", "narHash": "sha256-uRh46iIC86D8BD1wCDA5gRrt+hslUXiD0kx/UjnjBcs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "7f1836531b126cfcf584e7d7d71bf8758bb58969", "rev": "570256327eb6ca6f7bebe8d93af49459092a0c43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1029,11 +1102,11 @@
}, },
"nixos-persistence": { "nixos-persistence": {
"locked": { "locked": {
"lastModified": 1690797372, "lastModified": 1694622745,
"narHash": "sha256-GImz19e33SeVcIvBB7NnhbJSbTpFFmNtWLh7Z85Y188=", "narHash": "sha256-z397+eDhKx9c2qNafL1xv75lC0Q4nOaFlhaU1TINqb8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "e3a7acd113903269a1b5c8b527e84ce7ee859851", "rev": "e9643d08d0d193a2e074a19d4d90c67a874d932e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1095,6 +1168,24 @@
} }
}, },
"nixpkgs-lib_3": { "nixpkgs-lib_3": {
"locked": {
"dir": "lib",
"lastModified": 1690881714,
"narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9e1960bc196baf6881340d53dccb203a951745a2",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib_4": {
"locked": { "locked": {
"dir": "lib", "dir": "lib",
"lastModified": 1685564631, "lastModified": 1685564631,
@ -1112,13 +1203,31 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib_5": {
"locked": {
"dir": "lib",
"lastModified": 1693471703,
"narHash": "sha256-0l03ZBL8P1P6z8MaSDS/MvuU8E75rVxe5eE1N6gxeTo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e52e76b70d5508f3cec70b882a29199f4d1ee85",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-master": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1692788033, "lastModified": 1694874640,
"narHash": "sha256-jMXj3av6fm/9cAf8umOVRUXJjN0ygFpFgEOabDYqPRs=", "narHash": "sha256-2TGogij/TyUFGIUE7F69CVW2L/u7JsGnDxXV0knX0K0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "799e2353c404c0d8d5fc35984a8cc29b692fe4fa", "rev": "624c20171e9473f114f91d6c08f8a4e49ca3752e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1131,11 +1240,11 @@
"nixpkgs-wayland": { "nixpkgs-wayland": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1692782111, "lastModified": 1694867154,
"narHash": "sha256-h12nGYCOiJKON+nGSw7FXh5hbe3R26dNx4Whg1yXgck=", "narHash": "sha256-9WSzb10vk8pcKydg0RAUa7Z9YMRekVqOrBrEPqZzDvc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-wayland", "repo": "nixpkgs-wayland",
"rev": "a110844b51b49839b2d163322bb845160fb12641", "rev": "0b64693b3e90070f0fd8075b9bd8a255701b1ac9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1192,11 +1301,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1692638711, "lastModified": 1694767346,
"narHash": "sha256-J0LgSFgJVGCC1+j5R2QndadWI1oumusg6hCtYAzLID4=", "narHash": "sha256-5uH27SiVFUwsTsqC5rs3kS7pBoNhtoy9QfTP9BmknGk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "91a22f76cd1716f9d0149e8a5c68424bb691de15", "rev": "ace5093e36ab1e95cb9463863491bee90d5a4183",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1208,11 +1317,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1692788777, "lastModified": 1694866994,
"narHash": "sha256-UpNj3pGGxjiFJjI8osih14oT/cdQU7WlB6jqxHdykls=", "narHash": "sha256-uo50mKCooOkNvJRBl/O4AOKa2QztMvda0aFppp2QrBE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "cd2e7849222af80ea088d494cadac97658fb8fff", "rev": "5f8282ce5ce11225ae6cd5fff355685fef0c132e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1354,6 +1463,7 @@
"limbusart": "limbusart", "limbusart": "limbusart",
"musikquad": "musikquad", "musikquad": "musikquad",
"musikspider": "musikspider", "musikspider": "musikspider",
"nh": "nh",
"nixd": "nixd", "nixd": "nixd",
"nixinate": "nixinate", "nixinate": "nixinate",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
@ -1362,8 +1472,8 @@
"nixpkgs-master": "nixpkgs-master", "nixpkgs-master": "nixpkgs-master",
"nixpkgs-wayland": "nixpkgs-wayland", "nixpkgs-wayland": "nixpkgs-wayland",
"nur": "nur", "nur": "nur",
"steam-tui": "steam-tui",
"stylix": "stylix", "stylix": "stylix",
"vfio": "vfio",
"vscode-extensions": "vscode-extensions" "vscode-extensions": "vscode-extensions"
} }
}, },
@ -1495,27 +1605,6 @@
"type": "github" "type": "github"
} }
}, },
"steam-tui": {
"inputs": {
"flake-utils": "flake-utils_5",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1690992836,
"narHash": "sha256-KLf8gMbgt4UstiNGbMW7BnyQJPqP2uL2+0gIdwRYV3w=",
"owner": "dmadisetti",
"repo": "steam-tui",
"rev": "48bcd094b5b77336e20cc357d9172825475537e4",
"type": "github"
},
"original": {
"owner": "dmadisetti",
"repo": "steam-tui",
"type": "github"
}
},
"stylix": { "stylix": {
"inputs": { "inputs": {
"base16": "base16", "base16": "base16",
@ -1676,20 +1765,42 @@
"type": "github" "type": "github"
} }
}, },
"vscode-extensions": { "vfio": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_7", "flake-parts": "flake-parts_3",
"flake-utils": "flake-utils_6", "nix-std": "nix-std",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1692753310, "lastModified": 1696457108,
"narHash": "sha256-zRgfrBAW5HbsDuNQJ74VLnuP4DvdKCXxcq8Oi+Rtf5E=", "narHash": "sha256-aC7zKhCO11ffT/WMuku/YErHmKJRcl3/lz2s2APgD5s=",
"owner": "yusdacra",
"repo": "nixos-vfio",
"rev": "fb9a8c28811fc5b98973d870659e8c1c0e592206",
"type": "github"
},
"original": {
"owner": "yusdacra",
"repo": "nixos-vfio",
"type": "github"
}
},
"vscode-extensions": {
"inputs": {
"flake-compat": "flake-compat_7",
"flake-utils": "flake-utils_5",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1694827048,
"narHash": "sha256-2c1mjR2IHkfk/PoWhBZh4pbSAe34CZmuaUo0B6X3NLw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "a2e174547826aab2fe4229322611af6038dd5481", "rev": "bdd7fee1c2b085c15101cae04cf62260d8f77555",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -53,8 +53,11 @@
limbusart.url = "git+https://git.gaze.systems/dusk/limbusart.git"; limbusart.url = "git+https://git.gaze.systems/dusk/limbusart.git";
limbusart.inputs.nixpkgs.follows = "nixpkgs"; limbusart.inputs.nixpkgs.follows = "nixpkgs";
steam-tui.url = "github:dmadisetti/steam-tui"; nh.url = "github:viperML/nh";
steam-tui.inputs.nixpkgs.follows = "nixpkgs"; nh.inputs.nixpkgs.follows = "nixpkgs";
vfio.url = "github:yusdacra/nixos-vfio";
vfio.inputs.nixpkgs.follows = "nixpkgs";
# needed for hyprland setup # needed for hyprland setup
# hyprland.url = "github:hyprwm/Hyprland"; # hyprland.url = "github:hyprwm/Hyprland";
@ -99,9 +102,7 @@
generate-firefox-addons = generate-firefox-addons =
toString toString
"${pkgs.generate-firefox-addons}/bin/generate-firefox-addons"; "${pkgs.generate-firefox-addons}/bin/generate-firefox-addons";
# buildHost = { nh = toString "${inputs.nh.packages.${pkgs.system}.default}/bin/nh";
# type = "app";
# };
} }
) )
allPkgs allPkgs

View File

@ -9,7 +9,11 @@
imports = with inputs; imports = with inputs;
with nixos-hardware.nixosModules; with nixos-hardware.nixosModules;
[ [
inputs.agenix.nixosModules.default # vfio.nixosModules.kvmfr
# vfio.nixosModules.virtualisation
# vfio.nixosModules.vfio
# vfio.nixosModules.libvirtd
agenix.nixosModules.default
nixpkgs.nixosModules.notDetected nixpkgs.nixosModules.notDetected
nixos-persistence.nixosModule nixos-persistence.nixosModule
common-pc-ssd common-pc-ssd
@ -17,6 +21,7 @@
common-gpu-nvidia common-gpu-nvidia
common-gpu-amd common-gpu-amd
common-cpu-amd common-cpu-amd
common-cpu-amd-pstate
../../users/root ../../users/root
../../users/patriot ../../users/patriot
] ]
@ -54,6 +59,7 @@
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
jack.enable = true;
}; };
hardware.pulseaudio = { hardware.pulseaudio = {
enable = false; enable = false;
@ -93,13 +99,13 @@
programs.light.enable = true; programs.light.enable = true;
fonts = { fonts = {
enableDefaultFonts = true; enableDefaultPackages = true;
fontconfig.enable = true; fontconfig.enable = true;
fonts = [pkgs.dejavu_fonts]; packages = [pkgs.dejavu_fonts];
}; };
environment = { environment = {
systemPackages = [pkgs.ntfs3g]; sessionVariables.FLAKE = "/etc/nixos";
pathsToLink = ["/share/zsh"]; pathsToLink = ["/share/zsh"];
persistence."${config.system.persistDir}" = { persistence."${config.system.persistDir}" = {
directories = lib.flatten [ directories = lib.flatten [
@ -114,8 +120,10 @@
}; };
}; };
networking.firewall.allowedUDPPorts = [49152]; # warframe
networking.firewall.allowedTCPPorts = [7905 7906]; networking.firewall.allowedUDPPorts = [4990 4991 4992 4993 4994 4995];
# musikcube
networking.firewall.allowedTCPPorts = [7905 7906] ++ [6695 6696 6697 6698 6699];
# for tailscale # for tailscale
networking.firewall.checkReversePath = "loose"; networking.firewall.checkReversePath = "loose";

View File

@ -1,5 +1,19 @@
{ {
services.auto-cpufreq.enable = true; services.auto-cpufreq.enable = true;
services.auto-cpufreq.settings = {
charger = {
governor = "powersave";
scaling_min_freq = 600000;
scaling_max_freq = 3000000;
turbo = "off";
};
battery = {
governor = "powersave";
scaling_min_freq = 400000;
scaling_max_freq = 2000000;
turbo = "off";
};
};
services.tlp.settings = { services.tlp.settings = {
CPU_ENERGY_PERF_POLICY_ON_AC = ""; CPU_ENERGY_PERF_POLICY_ON_AC = "";
CPU_ENERGY_PERF_POLICY_ON_BAT = ""; CPU_ENERGY_PERF_POLICY_ON_BAT = "";

View File

@ -1,12 +1,12 @@
{pkgs, ...}: { {pkgs, ...}: {
boot = { boot = {
tmpOnTmpfs = true; tmp.useTmpfs = true;
loader = { loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
systemd-boot.enable = true; systemd-boot.enable = true;
systemd-boot.configurationLimit = 10; systemd-boot.configurationLimit = 10;
}; };
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_zen;
supportedFilesystems = ["f2fs"]; supportedFilesystems = ["f2fs"];
initrd = { initrd = {
availableKernelModules = [ availableKernelModules = [

View File

@ -0,0 +1,3 @@
{
config.virtualisation.docker.enable = true;
}

View File

@ -0,0 +1 @@
../../../modules/de/gnome/default.nix

View File

@ -0,0 +1,55 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
virt-manager
virtiofsd
looking-glass-client
];
virtualisation = {
spiceUSBRedirection.enable = true;
libvirtd = {
enable = true;
# extraConfig = ''
# user="patriot"
# '';
qemu = {
ovmf.enable = true;
# runAsRoot = true;
# Full is needed for TPM and secure boot emulation
ovmf.packages = [pkgs.OVMFFull.fd];
swtpm.enable = true;
# verbatimConfig = ''
# namespaces = []
# cgroup_device_acl = [ "/dev/vfio/9", "/dev/kvm", "/dev/null" ]
# user = "patriot"
# group = "libvirtd"
# '';
};
};
vfio = {
enable = true;
IOMMUType = "amd";
devices = [
"10de:25a2" # GPU
];
blacklistNvidia = true;
ignoreMSRs = true;
disableEFIfb = false;
};
kvmfr = {
enable = true;
devices = [
{
dimensions = {
width = 1920;
height = 1080;
};
permissions = {
user = "patriot";
group = "kvm";
mode = "0660";
};
}
];
};
};
}

View File

@ -3,9 +3,13 @@
enable = true; enable = true;
settings = { settings = {
RADEON_DPM_PERF_LEVEL_ON_AC = "auto"; RADEON_DPM_PERF_LEVEL_ON_AC = "auto";
RADEON_DPM_PERF_LEVEL_ON_BAT = "low"; RADEON_DPM_PERF_LEVEL_ON_BAT = "auto";
RADEON_DPM_STATE_ON_AC = "performance"; RADEON_DPM_STATE_ON_AC = "balanced";
RADEON_DPM_STATE_ON_BAT = "battery"; RADEON_DPM_STATE_ON_BAT = "battery";
PCIE_ASPM_ON_AC = "powersave";
PCIE_ASPM_ON_BAT = "powersupersave";
PLATFORM_PROFILE_ON_AC = "balanced";
PLATFORM_PROFILE_ON_BAT = "low-power";
NMI_WATCHDOG = 0; NMI_WATCHDOG = 0;
}; };
}; };

213
hosts/tkaronto/win11.xml Normal file
View File

@ -0,0 +1,213 @@
<domain type='kvm'>
<name>win11</name>
<uuid>92ad85b8-9635-48ed-9abb-697e58f0c569</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://microsoft.com/win/11"/>
</libosinfo:libosinfo>
</metadata>
<memory unit='KiB'>8388608</memory>
<currentMemory unit='KiB'>8388608</currentMemory>
<memoryBacking>
<source type='memfd'/>
<access mode='shared'/>
</memoryBacking>
<vcpu placement='static'>8</vcpu>
<os>
<type arch='x86_64' machine='pc-q35-8.1'>hvm</type>
<loader readonly='yes' type='pflash'>/run/libvirt/nix-ovmf/OVMF_CODE.fd</loader>
<nvram template='/run/libvirt/nix-ovmf/OVMF_VARS.fd'>/var/lib/libvirt/qemu/nvram/win11_VARS.fd</nvram>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<hyperv mode='custom'>
<relaxed state='on'/>
<vapic state='on'/>
<spinlocks state='on' retries='8191'/>
</hyperv>
<vmport state='off'/>
</features>
<cpu mode='host-passthrough' check='none' migratable='on'/>
<clock offset='localtime'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
<timer name='hypervclock' present='yes'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/run/libvirt/nix-emulators/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/persist/home/patriot/disks/win11.qcow2'/>
<target dev='sda' bus='sata'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0' model='qemu-xhci' ports='15'>
<address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
</controller>
<controller type='pci' index='0' model='pcie-root'/>
<controller type='pci' index='1' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='1' port='0x10'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
</controller>
<controller type='pci' index='2' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='2' port='0x11'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
</controller>
<controller type='pci' index='3' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='3' port='0x12'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
</controller>
<controller type='pci' index='4' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='4' port='0x13'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
</controller>
<controller type='pci' index='5' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='5' port='0x14'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
</controller>
<controller type='pci' index='6' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='6' port='0x15'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
</controller>
<controller type='pci' index='7' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='7' port='0x16'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x6'/>
</controller>
<controller type='pci' index='8' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='8' port='0x17'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x7'/>
</controller>
<controller type='pci' index='9' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='9' port='0x18'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0' multifunction='on'/>
</controller>
<controller type='pci' index='10' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='10' port='0x19'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x1'/>
</controller>
<controller type='pci' index='11' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='11' port='0x1a'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x2'/>
</controller>
<controller type='pci' index='12' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='12' port='0x1b'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x3'/>
</controller>
<controller type='pci' index='13' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='13' port='0x1c'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x4'/>
</controller>
<controller type='pci' index='14' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='14' port='0x1d'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x5'/>
</controller>
<controller type='pci' index='15' model='pcie-root-port'>
<model name='pcie-root-port'/>
<target chassis='15' port='0x1e'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x6'/>
</controller>
<controller type='pci' index='16' model='pcie-to-pci-bridge'>
<model name='pcie-pci-bridge'/>
<address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</controller>
<controller type='sata' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
</controller>
<controller type='virtio-serial' index='0'>
<address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
</controller>
<filesystem type='mount' accessmode='passthrough'>
<driver type='virtiofs'/>
<binary path='/run/current-system/sw/bin/virtiofsd'/>
<source dir='/home/patriot/Downloads'/>
<target dir='linux_downloads'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</filesystem>
<interface type='network'>
<mac address='52:54:00:9a:7b:db'/>
<source network='default'/>
<model type='e1000e'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<channel type='spicevmc'>
<target type='virtio' name='com.redhat.spice.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>
<input type='mouse' bus='virtio'>
<address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</input>
<input type='keyboard' bus='virtio'>
<address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</input>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<tpm model='tpm-crb'>
<backend type='emulator' version='2.0'/>
</tpm>
<graphics type='spice' autoport='yes'>
<listen type='address'/>
<image compression='off'/>
<gl enable='no'/>
</graphics>
<sound model='ich9'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x1b' function='0x0'/>
</sound>
<audio id='1' type='spice'/>
<video>
<model type='vga' vram='16384' heads='1' primary='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
</video>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</hostdev>
<redirdev bus='usb' type='spicevmc'>
<address type='usb' bus='0' port='2'/>
</redirdev>
<redirdev bus='usb' type='spicevmc'>
<address type='usb' bus='0' port='3'/>
</redirdev>
<watchdog model='itco' action='reset'/>
<memballoon model='none'/>
<shmem name='looking-glass'>
<model type='ivshmem-plain'/>
<size unit='M'>32</size>
<address type='pci' domain='0x0000' bus='0x10' slot='0x01' function='0x0'/>
</shmem>
</devices>
</domain>

View File

@ -0,0 +1,18 @@
{config, ...}: {
services.couchdb = {
enable = true;
port = 5999;
configFile = "/var/lib/couchdb/config";
};
services.nginx.virtualHosts."couchdb.gaze.systems" = {
useACMEHost = "gaze.systems";
forceSSL = true;
locations."/".proxyPass = "http://localhost:${toString config.services.couchdb.port}";
# locations."/".extraConfig = ''
# add_header 'Access-Control-Allow-Credentials' 'true';
# add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, HEAD, DELETE';
# add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Content-Type,Origin,Referer';
# add_header 'Access-Control-Max-Age' 3600;
# '';
};
}

View File

@ -19,6 +19,7 @@
"matrix.gaze.systems" "matrix.gaze.systems"
"ms.gaze.systems" "ms.gaze.systems"
"mq.gaze.systems" "mq.gaze.systems"
"couchdb.gaze.systems"
]; ];
}; };
certs."limbus.company" = { certs."limbus.company" = {

View File

@ -42,7 +42,7 @@ in {
whois whois
bat bat
fzf fzf
exa eza
lm_sensors lm_sensors
mkpasswd mkpasswd
bottom bottom
@ -57,7 +57,7 @@ in {
]; ];
shellAliases = let shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string; ifSudo = string: mkIf config.security.sudo.enable string;
inherit (pkgs) git bat exa du-dust; inherit (pkgs) git bat eza du-dust;
in { in {
g = pkgBin git; g = pkgBin git;
git-optimize = "${pkgBin git} gc --aggressive --prune=now"; git-optimize = "${pkgBin git} gc --aggressive --prune=now";
@ -66,11 +66,11 @@ in {
du = "${pkgBin du-dust}"; du = "${pkgBin du-dust}";
df = "${coreBin "df"} -h"; df = "${coreBin "df"} -h";
free = "${pkgs.procps}/bin/free -h"; free = "${pkgs.procps}/bin/free -h";
ls = pkgBin exa; ls = pkgBin eza;
l = "${pkgBin exa} -lhg"; l = "${pkgBin eza} -lhg";
la = "${pkgBin exa} -lhg -a"; la = "${pkgBin eza} -lhg -a";
t = "${pkgBin exa} -lhg -T"; t = "${pkgBin eza} -lhg -T";
ta = "${pkgBin exa} -lhg -a -T"; ta = "${pkgBin eza} -lhg -a -T";
n = nixBin; n = nixBin;
nf = "${nixBin} flake"; nf = "${nixBin} flake";
nfu = "${nixBin} flake update"; nfu = "${nixBin} flake update";

View File

@ -7,19 +7,19 @@
gnome-keyring.enable = true; gnome-keyring.enable = true;
core-shell.enable = true; core-shell.enable = true;
core-os-services.enable = true; core-os-services.enable = true;
at-spi2-core.enable = true; at-spi2-core.enable = lib.mkForce false;
gnome-browser-connector.enable = true; gnome-browser-connector.enable = true;
gnome-online-accounts.enable = true; gnome-online-accounts.enable = false;
gnome-online-miners.enable = true; gnome-online-miners.enable = lib.mkForce false;
tracker-miners.enable = true; tracker-miners.enable = false;
tracker.enable = true; tracker.enable = false;
sushi.enable = true; sushi.enable = true;
gnome-remote-desktop.enable = false; gnome-remote-desktop.enable = false;
}; };
services.tumbler.enable = true; services.tumbler.enable = true;
programs = { programs = {
geary.enable = lib.mkForce false; geary.enable = lib.mkForce false;
gnome-terminal.enable = true; gnome-terminal.enable = lib.mkForce false;
evince.enable = true; evince.enable = true;
}; };
services.xserver = { services.xserver = {
@ -45,6 +45,19 @@
"autovt@tty1".enable = false; "autovt@tty1".enable = false;
}; };
services.power-profiles-daemon.enable = false; services.power-profiles-daemon.enable = false;
environment.systemPackages = with pkgs; [gnomeExtensions.unite gnome.gnome-tweaks ffmpegthumbnailer webp-pixbuf-loader]; environment.systemPackages = with pkgs; [
environment.gnome.excludePackages = with pkgs; [gnome-console gnome-tour gnome.gnome-maps]; gnomeExtensions.unite
gnome.gnome-tweaks
ffmpegthumbnailer
webp-pixbuf-loader
yaru-theme
];
environment.gnome.excludePackages = with pkgs; [
gnome-console
gnome-tour
gnome.gnome-maps
];
# environment.etc."environment.d/10-use-amd.conf".text = ''
# __EGL_VENDOR_LIBRARY_FILENAMES=/run/opengl-driver/glvnd/egl_vendor.d/50_mesa.json
# '';
} }

View File

@ -1,10 +1,25 @@
{pkgs, ...}: { {pkgs, ...}: let
run-sway = pkgs.writeText "run-sway.sh" ''
export _JAVA_AWT_WM_NONREPARENTING=1
export XDG_CURRENT_DESKTOP=sway
export QT_QPA_PLATFORM=wayland
export QT_QPA_PLATFORMTHEME=qt5ct
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
export GDK_BACKEND=wayland
export WLR_DRM_DEVICES=/dev/dri/card0
export WL_DRM_DEVICES=/dev/dri/card0
sway --unsupported-gpu
'';
in {
services.greetd = { services.greetd = {
enable = true; enable = true;
settings = { settings = {
terminal.vt = 1; terminal.vt = 1;
default_session = { default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --issue --time --cmd 'sway --unsupported-gpu'"; command = "${pkgs.greetd.tuigreet}/bin/tuigreet --issue --time --cmd 'bash --login ${run-sway}'";
user = "greeter"; user = "greeter";
}; };
}; };

View File

@ -0,0 +1,24 @@
final: prev: {
abaddon = prev.abaddon.overrideAttrs (old: rec {
version = "0.1.12";
src = final.fetchFromGitHub {
owner = "uowuo";
repo = "abaddon";
rev = "v${version}";
sha256 = "sha256-Rz3c6RMZUiKQ0YKKQkCEkelfIGUq+xVmgNskj7uEjGI=";
fetchSubmodules = true;
};
buildInputs =
old.buildInputs
++ (with final; [
miniaudio
libsodium
libopus
spdlog
pcre2
rnnoise
qrcodegen
openssl
]);
});
}

View File

@ -0,0 +1,14 @@
final: prev: {
calf = prev.calf.overrideAttrs (old: {
src = final.fetchFromGitHub {
owner = "calf-studio-gear";
repo = "calf";
rev = "024e9deab2d32b26e90b556d36d9c74f6b0aeb17";
sha256 = "sha256-av6quHkesND9M8vlkOQKLXK4prf+oQxOLANuNsWL+eg=";
};
nativeBuildInputs = old.nativeBuildInputs ++ (with final; [automake autoconf pkg-config libtool]);
configurePhase = ''
$SHELL autogen.sh
'';
});
}

View File

@ -1,14 +0,0 @@
final: prev: {
spotify =
final.runCommand prev.spotify.name {
inherit (prev.spotify) meta;
nativeBuildInputs = [final.makeWrapper];
} ''
shopt -s extglob
mkdir -p $out/bin
ln -sf ${prev.spotify}/!(bin) $out/
ln -sf ${prev.spotify}/bin/* $out/bin/
wrapProgram $out/bin/spotify \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
'';
}

View File

@ -1,10 +1,10 @@
pkgs: ( pkgs: (
pkgs.lib.getAttrs pkgs.lib.getAttrs
[ [
"fractal-next" "phantom"
"comic-mono" "comic-mono"
"chromium" "fluidsynth-dssi"
"discordo" "calf"
] ]
pkgs pkgs
) )

View File

@ -0,0 +1,40 @@
{ lib, stdenv, fetchurl, alsa-lib, autoconf, automake, dssi, gtk2, libjack2,
ladspaH, ladspaPlugins, liblo, pkg-config, fluidsynth, rpm2targz, libtool, ... }:
stdenv.mkDerivation rec {
pname = "fluidsynth-dssi";
version = "1.9.9";
src = fetchurl {
url = "https://download.opensuse.org/source/distribution/leap/15.4/repo/oss/src/fluidsynth-dssi-1.9.9+git13012019-bp154.1.42.src.rpm";
sha256 = "sha256-DJSrdxQpjvQTzio6e3p/iSYJWu+AbydyKkeKsRQA6qc=";
};
nativeBuildInputs = [ autoconf automake pkg-config rpm2targz libtool ];
buildInputs = [ alsa-lib dssi gtk2 libjack2 ladspaH ladspaPlugins liblo fluidsynth.dev ];
unpackPhase = ''
rpm2targz $src
tar -xf *.tar.gz
rm *.src.tar.gz
tar -xf *.tar.gz
rm *.diff
rm *.spec
rm *.tar.gz
cd fluidsynth-dssi-*
'';
configurePhase = ''
$SHELL autogen.sh
$SHELL configure
'';
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/lib
cp src/FluidSynth-DSSI_gtk $out/bin
cp src/.libs/* $out/lib
'';
meta = with lib; {
license = licenses.gpl2Plus;
platforms = platforms.linux;
};
}

24
pkgs-set/pkgs/phantom.nix Normal file
View File

@ -0,0 +1,24 @@
{stdenv, libsForQt5, ...}:
stdenv.mkDerivation {
pname = "phantomstyle";
version = "309c97";
src = builtins.fetchGit {
url = "https://github.com/randrew/phantomstyle.git";
rev = "309c97a955f6cdfb1987d1dd04c34d667e4bfce1";
};
dontWrapQtApps = true;
buildInputs = [libsForQt5.qt5.qtbase];
buildPhase = ''
cd src/styleplugin
qmake && make
'';
installPhase = ''
mkdir -p $out/$qtPluginPrefix/styles
mv libphantomstyleplugin.so $out/$qtPluginPrefix/styles
'';
}

View File

@ -9,13 +9,21 @@
"--ozone-platform-hint=auto" "--ozone-platform-hint=auto"
"--flag-switches-begin" "--flag-switches-begin"
"--enable-webrtc-pipewire-capturer" "--enable-webrtc-pipewire-capturer"
# "--force-dark-mode" "--disable-software-rasterizer"
# "--enable-gpu-rasterization" "--disable-gpu-driver-workarounds"
# "--enable-zero-copy" "--enable-accelerated-video-decode"
# "--ignore-gpu-blocklist" "--enable-accelerated-mjpeg-decode"
# "--disable-gpu-driver-bug-workarounds" "--enable-gpu-compositing"
"--enable-oop-rasterization"
"--canvas-oop-rasterization"
"--enable-raw-draw"
"--enable-zero-copy"
"--enable-gpu-rasterization"
"--enable-zero-copy"
"--ignore-gpu-blocklist"
"--disable-gpu-driver-bug-workarounds"
"--ozone-platform-hint=wayland" "--ozone-platform-hint=wayland"
"--enable-features=SystemNotifications,WaylandWindowDecorations,WebRTCPipeWireCapturer" "--enable-features=SystemNotifications,WaylandWindowDecorations,WebRTCPipeWireCapturer,EnableDrDc,CanvasOopRasterization,RawDraw,VaapiVideoDecoder,UseSkiaRenderer"
"--flag-switches-end" "--flag-switches-end"
"--disk-cache-dir=\"$XDG_RUNTIME_DIR/chromium-cache\"" "--disk-cache-dir=\"$XDG_RUNTIME_DIR/chromium-cache\""
]; ];

View File

@ -6,44 +6,45 @@
... ...
}: { }: {
home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [ home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [
".config/discordcanary" ".config/ArmCord"
]; ];
xdg.configFile."discordcanary/settings.json".text = builtins.toJSON {
# openasar = {
# setup = true;
# noTyping = true;
# quickstart = true;
# # theme = builtins.readFile inputs.catppuccin-discord;
# };
SKIP_HOST_UPDATE = true;
IS_MAXIMIZED = true;
IS_MINIMIZED = false;
trayBalloonShown = true;
};
home.packages = let home.packages = let
flags = [ flags = [
"--flag-switches-begin" # "--flag-switches-begin"
"--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer" # "--enable-features=UseOzonePlatform,WebRTCPipeWireCapturer"
"--flag-switches-end" # "--flag-switches-end"
"--ozone-platform=wayland" # "--ozone-platform=wayland"
"--enable-webrtc-pipewire-capturer" # "--enable-webrtc-pipewire-capturer"
"--disable-gpu-memory-buffer-video-frames" # "--disable-gpu-memory-buffer-video-frames"
"--enable-accelerated-mjpeg-decode" # "--enable-accelerated-mjpeg-decode"
"--enable-accelerated-video" # "--enable-accelerated-video"
"--enable-gpu-rasterization" # "--enable-gpu-rasterization"
"--enable-native-gpu-memory-buffers" # "--enable-native-gpu-memory-buffers"
"--enable-zero-copy" # "--enable-zero-copy"
"--ignore-gpu-blocklist" # "--ignore-gpu-blocklist"
]; ];
pkg = pkg =
(pkgs.discord-canary.override { (pkgs.armcord.override {
nss = pkgs.nss_latest; nss = pkgs.nss_latest;
# withOpenASAR = true;
}) })
.overrideAttrs (old: { .overrideAttrs (old: {
preInstall = '' # preInstall = ''
gappsWrapperArgs+=("--add-flags" "${lib.concatStringsSep " " flags}") # gappsWrapperArgs+=("--add-flags" "${lib.concatStringsSep " " flags}")
''; # '';
}); });
in [pkg]; in [pkg];
systemd.user.services.premid = {
Install = {
WantedBy = ["default.target"];
};
Unit = {
Description = "premid";
After = "network.target";
};
Service = {
ExecStart = "${pkgs.premid}/bin/premid";
Restart = "on-failure";
RestartSec = 5;
};
};
} }

View File

@ -20,6 +20,9 @@
lockPref("privacy.clearOnShutdown.cookies", false); lockPref("privacy.clearOnShutdown.cookies", false);
lockPref("services.sync.engine.passwords", false); lockPref("services.sync.engine.passwords", false);
lockPref("network.cookie.lifetimePolicy", 0); lockPref("network.cookie.lifetimePolicy", 0);
lockPref("gfx.webrender.all", true);
lockPref("media.ffmpeg.vaapi.enabled", true);
lockPref("media.hardware-video-decoding.force-enabled", true);
''; '';
extraPolicies = { extraPolicies = {
CaptivePortal = false; CaptivePortal = false;
@ -37,21 +40,6 @@
}; };
}; };
}; };
extensions = with pkgs.nur.repos.rycee.firefox-addons; let
myExtensions =
pkgs.callPackage ./extensions.nix {inherit buildFirefoxXpiAddon;};
in
[
ublock-origin
darkreader
bitwarden
refined-github
stylus
]
++ (with myExtensions; [
catppuccin-mocha-sky
youtube-disable-number-seek
]);
profiles = { profiles = {
default = { default = {
id = 0; id = 0;
@ -62,10 +50,25 @@
id = 1; id = 1;
isDefault = true; isDefault = true;
name = "personal"; name = "personal";
extensions = with pkgs.nur.repos.rycee.firefox-addons; let
myExtensions =
pkgs.callPackage ./extensions.nix {inherit buildFirefoxXpiAddon;};
in
[
ublock-origin
darkreader
bitwarden
refined-github
]
++ (with myExtensions; [
youtube-disable-number-seek
styl-us
showdex
]);
extraConfig = builtins.readFile ( extraConfig = builtins.readFile (
builtins.fetchurl { builtins.fetchurl {
url = "https://raw.githubusercontent.com/arkenfox/user.js/101.0/user.js"; url = "https://raw.githubusercontent.com/arkenfox/user.js/115.1/user.js";
sha256 = "sha256:1mb1l9dgb8mfl70lhwykgfphqnxxi1xw0h3hlgj8jyj6n1mn5v8f"; sha256 = "sha256:0x0xkbhmb53lyfpbc8wmm44dgr4zrn15b2pc6gny08mh5j4ny8m7";
} }
); );
}; };

View File

@ -1,4 +1,6 @@
[ [
{"slug":"catppuccin-mocha-sky"}, {"slug":"catppuccin-mocha-sky"},
{"slug":"youtube-disable-number-seek"} {"slug":"youtube-disable-number-seek"},
{"slug":"showdex"},
{"slug":"styl-us"}
] ]

View File

@ -11,20 +11,70 @@
url = "https://addons.mozilla.org/firefox/downloads/file/3954372/catppuccin_dark_sky-2.0.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/3954372/catppuccin_dark_sky-2.0.xpi";
sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25"; sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25";
meta = with lib; { meta = with lib; {
description = "Firefox theme based on <a href=\"https://outgoing.prod.mozaws.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>"; description = "Firefox theme based on <a href=\"https://prod.outgoing.prod.webservices.mozgcp.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>";
license = licenses.cc-by-30; license = licenses.cc-by-30;
mozPermissions = [];
platforms = platforms.all;
};
};
"showdex" = buildFirefoxXpiAddon {
pname = "showdex";
version = "1.1.6";
addonId = "showdex@tize.io";
url = "https://addons.mozilla.org/firefox/downloads/file/4146071/showdex-1.1.6.xpi";
sha256 = "1d608d261c73f8acac4c2f3a878c501d822ae6dc6f0e3f018b07bc6eada646a4";
meta = with lib; {
homepage = "https://github.com/doshidak/showdex";
description = "Pokémon Showdown extension that harnesses the power of parabolic calculus to strategically extract your opponents' Elo.";
mozPermissions = [
"clipboardRead"
"clipboardWrite"
"*://play.pokemonshowdown.com/*"
"*://*.psim.us/*"
"*://play.radicalred.net/*"
];
platforms = platforms.all;
};
};
"styl-us" = buildFirefoxXpiAddon {
pname = "styl-us";
version = "1.5.35";
addonId = "{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}";
url = "https://addons.mozilla.org/firefox/downloads/file/4160414/styl_us-1.5.35.xpi";
sha256 = "d415ee11fa4a4313096a268e54fd80fa93143345be16f417eb1300a6ebe26ba1";
meta = with lib; {
homepage = "https://add0n.com/stylus.html";
description = "Redesign your favorite websites with Stylus, an actively developed and community driven userstyles manager. Easily install custom themes from popular online repositories, or create, edit, and manage your own personalized CSS stylesheets.";
license = licenses.gpl3;
mozPermissions = [
"tabs"
"webNavigation"
"webRequest"
"webRequestBlocking"
"contextMenus"
"storage"
"unlimitedStorage"
"alarms"
"<all_urls>"
"http://userstyles.org/*"
"https://userstyles.org/*"
];
platforms = platforms.all; platforms = platforms.all;
}; };
}; };
"youtube-disable-number-seek" = buildFirefoxXpiAddon { "youtube-disable-number-seek" = buildFirefoxXpiAddon {
pname = "youtube-disable-number-seek"; pname = "youtube-disable-number-seek";
version = "1.1"; version = "1.2";
addonId = "{963aa3d4-c342-4dfe-872e-76be742d1bea}"; addonId = "{963aa3d4-c342-4dfe-872e-76be742d1bea}";
url = "https://addons.mozilla.org/firefox/downloads/file/3592479/youtube_disable_number_seek-1.1.xpi"; url = "https://addons.mozilla.org/firefox/downloads/file/4134869/youtube_disable_number_seek-1.2.xpi";
sha256 = "28075f68438242615cbe857e52c3ae1f661447c7d066d4ef4e5076b44efad07a"; sha256 = "d6cde501b2603944e36baaa10adb9f24c9214929929c346176d0336d25418259";
meta = with lib; { meta = with lib; {
description = "Disables 0-9 keyboard shortcuts on YouTube which seek to different times on a video."; description = "Disables 0-9 keyboard shortcuts on YouTube which seek to different times on a video.";
license = licenses.mpl20; license = licenses.mpl20;
mozPermissions = [
"*://*.youtube.com/*"
"*://*.youtube-nocookie.com/*"
];
platforms = platforms.all; platforms = platforms.all;
}; };
}; };

View File

@ -21,9 +21,9 @@ in {
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
systemd.user.services.musikcubed = { systemd.user.services.musikcubed = {
Install = { # Install = {
WantedBy = ["multi-user.target"]; # WantedBy = ["default.target"];
}; # };
Unit = { Unit = {
Description = "musikcubed"; Description = "musikcubed";
After = "network.target"; After = "network.target";

View File

@ -1,4 +1,8 @@
{config, pkgs, ...}: { {
config,
pkgs,
...
}: {
home.packages = [pkgs.ripcord]; home.packages = [pkgs.ripcord];
home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [ home.persistence."${config.system.persistDir}${config.home.homeDirectory}".directories = [
".local/share/Ripcord" ".local/share/Ripcord"

View File

@ -32,7 +32,10 @@
config = { config = {
bars = []; bars = [];
gaps.smartBorders = "on"; gaps.smartBorders = "on";
menu = mkRofiCmd ["-show" "drun"]; menu = mkRofiCmd [
"-show"
"drun"
];
modifier = "Mod4"; modifier = "Mod4";
terminal = config.settings.terminal.binary; terminal = config.settings.terminal.binary;
keybindings = let keybindings = let
@ -102,10 +105,10 @@
output = { output = {
"*" = { "*" = {
bg = "${config.stylix.image} fill"; bg = "${config.stylix.image} fill";
# adaptive_sync = "on";
}; };
"eDP-1" = { "eDP-1" = {
scale = "2"; scale = "2";
adaptive_sync = "on";
}; };
"HDMI-A-1" = { "HDMI-A-1" = {
mode = "1920x1080@60.000Hz"; mode = "1920x1080@60.000Hz";

View File

@ -23,6 +23,7 @@ in {
"nix-build-key-access" "nix-build-key-access"
(l.optional nixosConfig.networking.networkmanager.enable "networkmanager") (l.optional nixosConfig.networking.networkmanager.enable "networkmanager")
(l.optional nixosConfig.virtualisation.docker.enable "docker") (l.optional nixosConfig.virtualisation.docker.enable "docker")
(l.optionals nixosConfig.virtualisation.libvirtd.enable ["libvirtd" "kvm"])
]; ];
shell = pkgs.zsh; shell = pkgs.zsh;
hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/"; hashedPassword = "$6$spzqhAyJfhHy$iHgLBlhjGn1l8PnbjJdWTn1GPvcjMqYNKUzdCe/7IrX6sHNgETSr/Nfpdmq9FCXLhrAfwHOd/q/8SvfeIeNX4/";
@ -66,7 +67,7 @@ in {
dconf.enable = true; dconf.enable = true;
weylus.users = ["patriot"]; weylus.users = ["patriot"];
java = { java = {
enable = true; enable = false;
package = pkgs.jre8; package = pkgs.jre8;
}; };
}; };
@ -105,15 +106,15 @@ in {
modulesToEnable = l.flatten [ modulesToEnable = l.flatten [
# wm # wm
# ["hyprland" "foot"] # ["hyprland" "foot"]
["sway" "foot"] ["sway" "wayland" "foot"]
# desktop stuff # desktop stuff
["wayland"] # ["wayland" "foot"]
["chromium"] ["obsidian" "firefox"]
# cli stuff # cli stuff
["zoxide" "zsh" "fzf" "starship" "direnv"] ["zoxide" "zsh" "fzf" "starship" "direnv"]
# dev stuff # dev stuff
["helix" "git" "ssh"] ["helix" "git" "ssh"]
["musikcube" "musikcubed"] # ["musikcube" "musikcubed"]
]; ];
in in
l.flatten [ l.flatten [
@ -144,13 +145,13 @@ in {
"zsh" "zsh"
"keyrings" "keyrings"
# "lutris" # "lutris"
"Terraria" # "Terraria"
"PrismLauncher" # "PrismLauncher"
] ]
++ mkPaths ".config" [ ++ mkPaths ".config" [
# "lutris" # "lutris"
"dconf" "dconf"
"musikcube" "retroarch"
]; ];
files = l.flatten [ files = l.flatten [
".config/gnome-initial-setup-done" ".config/gnome-initial-setup-done"
@ -173,6 +174,23 @@ in {
gtk.enable = true; gtk.enable = true;
x11.enable = true; x11.enable = true;
}; };
gtk.enable = true;
gtk.theme.package = pkgs.yaru-theme;
gtk.theme.name = "Yaru-dark";
home.sessionVariables.QT_QPA_PLATFORMTHEME = "qt5ct";
xdg.configFile = {
"environment.d/20-apply-qtct.conf".text = ''
QT_QPA_PLATFORMTHEME=qt5ct
'';
};
qt.enable = true;
qt.platformTheme = "qtct";
qt.style.name = "phantom";
qt.style.package = pkgs.phantom;
stylix.targets.gnome.enable = lib.mkForce false;
stylix.targets.gtk.enable = lib.mkForce false;
home = { home = {
homeDirectory = nixosConfig.users.users.patriot.home; homeDirectory = nixosConfig.users.users.patriot.home;
@ -190,20 +208,34 @@ in {
ffmpeg ffmpeg
mupdf mupdf
xdg-utils xdg-utils
# lutris
protontricks protontricks
# fractal-next # fractal-next
# obs-studio # obs-studio
libreoffice-fresh libreoffice-fresh
helvum helvum
nix-output-monitor nix-output-monitor
inputs.nh.packages.${pkgs.system}.default
# prismlauncher # prismlauncher
steamPackages.steamcmd # steamPackages.steamcmd
steam-tui # steam-tui
gtkcord4
gh
transmission_4-gtk
# yabridge
# yabridgectl
# bitwig-studio
# reaper
# ardour
(retroarch.override {
cores = with libretro; [desmume melonds];
})
# wineWowPackages.stagingFull
# lutris
distrobox
]; ];
}; };
programs = { programs = {
musikcube.enable = true; # musikcube.enable = true;
command-not-found.enable = command-not-found.enable =
nixosConfig.programs.command-not-found.enable; nixosConfig.programs.command-not-found.enable;
git = { git = {
@ -217,10 +249,10 @@ in {
}; };
}; };
services = { services = {
musikcubed = { # musikcubed = {
enable = true; # enable = true;
settings.password = "somethingidk"; # settings.password = "somethingidk";
}; # };
gpg-agent = let gpg-agent = let
defaultCacheTtl = 3600 * 6; defaultCacheTtl = 3600 * 6;
maxCacheTtl = 3600 * 24; maxCacheTtl = 3600 * 24;

View File

@ -2,6 +2,7 @@
inputs, inputs,
config, config,
pkgs, pkgs,
lib,
... ...
}: { }: {
imports = [ imports = [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 13 MiB