lots of things (everything is a total mess)
This commit is contained in:
parent
480d649d62
commit
931efc7518
22 changed files with 109 additions and 52 deletions
23
flake.lock
generated
23
flake.lock
generated
|
@ -1049,7 +1049,6 @@
|
||||||
"sobercookie": "sobercookie",
|
"sobercookie": "sobercookie",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"umu": "umu",
|
|
||||||
"vpn-confinement": "vpn-confinement"
|
"vpn-confinement": "vpn-confinement"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1336,28 +1335,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"umu": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"lastModified": 1733509971,
|
|
||||||
"narHash": "sha256-KVpe03nlfvYnZo5EphvOjS4T3CcpQIUcFHGrY6J8Frs=",
|
|
||||||
"owner": "Open-Wine-Components",
|
|
||||||
"repo": "umu-launcher",
|
|
||||||
"rev": "562e3900eebde0fb276dd2f425c097c8b44ccb92",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"dir": "packaging/nix",
|
|
||||||
"owner": "Open-Wine-Components",
|
|
||||||
"repo": "umu-launcher",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vpn-confinement": {
|
"vpn-confinement": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731209328,
|
"lastModified": 1731209328,
|
||||||
|
|
|
@ -62,10 +62,6 @@
|
||||||
microvm.url = "github:astro/microvm.nix";
|
microvm.url = "github:astro/microvm.nix";
|
||||||
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
|
vpn-confinement.url = "github:Maroka-chan/VPN-Confinement";
|
||||||
sobercookie.url = "github:xunuwu/sobercookie";
|
sobercookie.url = "github:xunuwu/sobercookie";
|
||||||
umu = {
|
|
||||||
url = "github:Open-Wine-Components/umu-launcher/?dir=packaging\/nix&submodules=1";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
haumea = {
|
haumea = {
|
||||||
url = "github:nix-community/haumea";
|
url = "github:nix-community/haumea";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
@ -11,12 +11,8 @@ in {
|
||||||
options.xun.gaming = {
|
options.xun.gaming = {
|
||||||
krunker.enable = lib.mkEnableOption "krunker";
|
krunker.enable = lib.mkEnableOption "krunker";
|
||||||
roblox.sobercookie.enable = lib.mkEnableOption "sobercookie";
|
roblox.sobercookie.enable = lib.mkEnableOption "sobercookie";
|
||||||
umu.enable = lib.mkEnableOption "umu-launcher";
|
|
||||||
};
|
};
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(lib.mkIf cfg.umu.enable {
|
|
||||||
home.packages = [inputs.umu.packages.${pkgs.system}.umu];
|
|
||||||
})
|
|
||||||
(lib.mkIf cfg.krunker.enable {
|
(lib.mkIf cfg.krunker.enable {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
self.packages.${pkgs.system}.krunker
|
self.packages.${pkgs.system}.krunker
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.xun
|
self.homeManagerModules.xun
|
||||||
./kanshi.nix
|
# ./kanshi.nix
|
||||||
./defaults.nix
|
./defaults.nix
|
||||||
|
|
||||||
../../secrets
|
../../secrets
|
||||||
|
@ -50,6 +50,7 @@
|
||||||
../../programs/misc/krita.nix
|
../../programs/misc/krita.nix
|
||||||
#../../programs/misc/ardour.nix
|
#../../programs/misc/ardour.nix
|
||||||
../../programs/misc/foliate.nix
|
../../programs/misc/foliate.nix
|
||||||
|
../../programs/misc/blender.nix
|
||||||
../../programs/misc/obsidian.nix
|
../../programs/misc/obsidian.nix
|
||||||
../../programs/misc/pwvucontrol.nix
|
../../programs/misc/pwvucontrol.nix
|
||||||
../../programs/misc/qpwgraph.nix
|
../../programs/misc/qpwgraph.nix
|
||||||
|
@ -69,7 +70,8 @@
|
||||||
# ../../programs/games/krunker.nix
|
# ../../programs/games/krunker.nix
|
||||||
#../../programs/games/ludusavi.nix
|
#../../programs/games/ludusavi.nix
|
||||||
|
|
||||||
./dark.nix
|
# ./dark.nix
|
||||||
|
# ./xundark.nix
|
||||||
|
|
||||||
# media services
|
# media services
|
||||||
../../services/media/playerctl.nix
|
../../services/media/playerctl.nix
|
||||||
|
@ -101,7 +103,6 @@
|
||||||
};
|
};
|
||||||
gaming = {
|
gaming = {
|
||||||
krunker = enabled;
|
krunker = enabled;
|
||||||
umu = enabled;
|
|
||||||
roblox.sobercookie = enabled;
|
roblox.sobercookie = enabled;
|
||||||
};
|
};
|
||||||
# school.geogebra = enabled;
|
# school.geogebra = enabled;
|
||||||
|
|
11
home/profiles/nixdesk/xundark.nix
Normal file
11
home/profiles/nixdesk/xundark.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
iconTheme = {
|
||||||
|
name = "WhiteSur-dark";
|
||||||
|
package = pkgs.whitesur-icon-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt.enable = true;
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ungoogled-chromium;
|
# package = pkgs.ungoogled-chromium;
|
||||||
extensions = [
|
extensions = [
|
||||||
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
{id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";} # ublock origin
|
||||||
];
|
];
|
||||||
|
|
|
@ -17,8 +17,3 @@
|
||||||
#navigator-toolbox {
|
#navigator-toolbox {
|
||||||
border-bottom: none !important;
|
border-bottom: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide shield thing since i never ever change those settings */
|
|
||||||
#tracking-protection-icon-container {
|
|
||||||
visibility: collapse;
|
|
||||||
}
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
../common/wob.nix
|
../common/wob.nix
|
||||||
../common/wl-clipboard.nix
|
../common/wl-clipboard.nix
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
|
./headless-remote.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
services.cliphist = {
|
services.cliphist = {
|
||||||
|
@ -53,6 +54,16 @@
|
||||||
'';
|
'';
|
||||||
config = {
|
config = {
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
|
output = {
|
||||||
|
"DP-3" = {
|
||||||
|
mode = "1920x1080@165Hz";
|
||||||
|
position = "1920 0";
|
||||||
|
allow_tearing = "yes";
|
||||||
|
};
|
||||||
|
"HDMI-A-1" = {
|
||||||
|
position = "0 0";
|
||||||
|
};
|
||||||
|
};
|
||||||
# output = {
|
# output = {
|
||||||
# "*".bg = "${config.xdg.userDirs.pictures}/wallpaper fill";
|
# "*".bg = "${config.xdg.userDirs.pictures}/wallpaper fill";
|
||||||
# };
|
# };
|
||||||
|
@ -88,6 +99,7 @@
|
||||||
in
|
in
|
||||||
lib.mkOptionDefault (
|
lib.mkOptionDefault (
|
||||||
{
|
{
|
||||||
|
"${mod}+m" = "exec ${pkgs.nwg-launchers}/bin/nwggrid";
|
||||||
"${mod}+n" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -t";
|
"${mod}+n" = "exec ${pkgs.swaynotificationcenter}/bin/swaync-client -t";
|
||||||
"${mod}+Shift+v" = "exec ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy";
|
"${mod}+Shift+v" = "exec ${lib.getExe pkgs.cliphist} list | ${lib.getExe pkgs.wofi} --dmenu | ${lib.getExe pkgs.cliphist} decode | ${pkgs.wl-clipboard}/bin/wl-copy";
|
||||||
"${mod}+Ctrl+${dir.left}" = "focus output left";
|
"${mod}+Ctrl+${dir.left}" = "focus output left";
|
||||||
|
@ -105,6 +117,7 @@
|
||||||
"${mod}+Shift+Backspace" = "exec systemctl suspend";
|
"${mod}+Shift+Backspace" = "exec systemctl suspend";
|
||||||
"${mod}+Shift+s" = "exec ${lib.getExe pkgs.wayfreeze} --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} copy anything && pkill wayfreeze'";
|
"${mod}+Shift+s" = "exec ${lib.getExe pkgs.wayfreeze} --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} copy anything && pkill wayfreeze'";
|
||||||
"${mod}+Ctrl+Shift+s" = "exec ${lib.getExe pkgs.wayfreeze} --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} savecopy anything && pkill wayfreeze'";
|
"${mod}+Ctrl+Shift+s" = "exec ${lib.getExe pkgs.wayfreeze} --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} savecopy anything && pkill wayfreeze'";
|
||||||
|
"${mod}+Alt+s" = "exec ${lib.getExe pkgs.wayfreeze} --after-freeze-cmd '${lib.getExe pkgs.sway-contrib.grimshot} save anything - | ${lib.getExe pkgs.tesseract} -l eng - - | wl-copy && pkill wayfreeze'";
|
||||||
|
|
||||||
"${mod}+Shift+p" = "exec ${pauseApp}";
|
"${mod}+Shift+p" = "exec ${pauseApp}";
|
||||||
"${mod}+period" = "exec ${lib.getExe pkgs.bemoji}";
|
"${mod}+period" = "exec ${lib.getExe pkgs.bemoji}";
|
||||||
|
|
41
home/programs/desktop/sway/headless-remote.nix
Normal file
41
home/programs/desktop/sway/headless-remote.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
## TODO MAKE THIS REMOVE ALL PREV HEADLESS MONITORS
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeShellApplication {
|
||||||
|
name = "xun-start-headless";
|
||||||
|
runtimeInputs = [pkgs.sway pkgs.wayvnc pkgs.jq];
|
||||||
|
text = ''
|
||||||
|
headless_numbers() {
|
||||||
|
swaymsg -t get_outputs | jq -r '.[].name | select (. | startswith("HEADLESS-")) | ltrimstr("HEADLESS-")'
|
||||||
|
}
|
||||||
|
|
||||||
|
new_lines() {
|
||||||
|
diff <(echo "$1") <(echo "$2") | grep -E "^>" | cut -c3- || true
|
||||||
|
}
|
||||||
|
|
||||||
|
create_output() {
|
||||||
|
outputs1=$(headless_numbers)
|
||||||
|
swaymsg create_output >/dev/null
|
||||||
|
outputs2=$(headless_numbers)
|
||||||
|
new_lines "$outputs1" "$outputs2"
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_outputs() {
|
||||||
|
for n in $(headless_numbers); do
|
||||||
|
swaymsg output "HEADLESS-$n" unplug
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
remove_outputs
|
||||||
|
|
||||||
|
outputid=$(create_output)
|
||||||
|
|
||||||
|
swaymsg output "HEADLESS-$outputid" scale 2
|
||||||
|
swaymsg output "HEADLESS-$outputid" mode "2400x1080@30Hz"
|
||||||
|
swaymsg output "HEADLESS-$outputid" position "0 1080" # below primary monitor
|
||||||
|
|
||||||
|
wayvnc --gpu -o "HEADLESS-$outputid" 0.0.0.0
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
3
home/programs/misc/blender.nix
Normal file
3
home/programs/misc/blender.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [blender];
|
||||||
|
}
|
|
@ -5,5 +5,5 @@
|
||||||
withOpenASAR = true;
|
withOpenASAR = true;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
# services.arrpc.enable = true; # RPC with vesktop (disabled since it uses way more cpu than is reasonable for such a program)
|
services.arrpc.enable = true; # RPC with vesktop (has issues with cpu usage sometimes ime)
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,8 +106,10 @@ in {
|
||||||
# programs.qt
|
# programs.qt
|
||||||
programs.adb
|
programs.adb
|
||||||
programs.kanidm
|
programs.kanidm
|
||||||
|
programs.openrgb
|
||||||
programs.tools
|
programs.tools
|
||||||
programs.thunar
|
programs.thunar
|
||||||
|
programs.corectrl
|
||||||
|
|
||||||
services.default
|
services.default
|
||||||
services.pipewire
|
services.pipewire
|
||||||
|
@ -122,6 +124,7 @@ in {
|
||||||
desktop.x11.nosleep
|
desktop.x11.nosleep
|
||||||
|
|
||||||
themes.dark
|
themes.dark
|
||||||
|
# themes.xundark
|
||||||
|
|
||||||
programs.gamemode
|
programs.gamemode
|
||||||
programs.gamescope
|
programs.gamescope
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
blacklistedKernelModules = [
|
blacklistedKernelModules = [
|
||||||
# "xhci_pci" # was causing issues (100% udevd cpu usage)
|
"xhci_pci" # was causing issues (100% udevd cpu usage)
|
||||||
];
|
];
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
|
|
|
@ -48,12 +48,10 @@ in {
|
||||||
|
|
||||||
## make sure vpn connection is reasonably fast
|
## make sure vpn connection is reasonably fast
|
||||||
## god, there has to be a proper, not horrible way of doing this
|
## god, there has to be a proper, not horrible way of doing this
|
||||||
## TODO fix this and uhh make sure it works and stuff
|
|
||||||
# systemd.services."wg-speedcheck" = {
|
# systemd.services."wg-speedcheck" = {
|
||||||
# requires = ["wg.service"];
|
|
||||||
# enable = false;
|
|
||||||
# serviceConfig = {
|
# serviceConfig = {
|
||||||
# Type = "oneshot";
|
# Type = "oneshot";
|
||||||
|
# ExecCondition = "${config.systemd.package}/bin/systemctl is-active wg.service"; # horrible, horrible hack, theres 100% a better way
|
||||||
# ExecStart = pkgs.writers.writeBash "wg-speedcheck.sh" ''
|
# ExecStart = pkgs.writers.writeBash "wg-speedcheck.sh" ''
|
||||||
# echo "running test in netns"
|
# echo "running test in netns"
|
||||||
# vpn_result=$( ${pkgs.iproute2}/bin/ip netns exec wg ${pkgs.speedtest-cli}/bin/speedtest --json )
|
# vpn_result=$( ${pkgs.iproute2}/bin/ip netns exec wg ${pkgs.speedtest-cli}/bin/speedtest --json )
|
||||||
|
@ -78,6 +76,14 @@ in {
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
|
||||||
|
# systemd.timers."wg-speedcheck" = {
|
||||||
|
# wantedBy = ["timers.target"];
|
||||||
|
# timerConfig = {
|
||||||
|
# OnCalendar = "0/2:00:00";
|
||||||
|
# Unit = "wg-speedcheck.service";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
|
||||||
vpnNamespaces."wg" = {
|
vpnNamespaces."wg" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wireguardConfigFile = config.sops.secrets.wireguard.path;
|
wireguardConfigFile = config.sops.secrets.wireguard.path;
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
#];
|
#];
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
rocmSupport = true;
|
# rocmSupport = true; # TODO enable once nixpkgs fixes their shit and llvm libc doesnt fail to compile (https://github.com/NixOS/nixpkgs/issues/368672)
|
||||||
allowUnfreePredicate = pkg:
|
allowUnfreePredicate = pkg:
|
||||||
builtins.elem (lib.getName pkg) [
|
builtins.elem (lib.getName pkg) [
|
||||||
"steam"
|
"steam"
|
||||||
|
|
|
@ -7,7 +7,8 @@
|
||||||
|
|
||||||
users.groups.deploy = {};
|
users.groups.deploy = {};
|
||||||
users.users.deploy = {
|
users.users.deploy = {
|
||||||
isSystemUser = true;
|
isSystemUser = false;
|
||||||
|
isNormalUser = true; # i want a home directory for some things
|
||||||
useDefaultShell = true;
|
useDefaultShell = true;
|
||||||
group = "deploy";
|
group = "deploy";
|
||||||
extraGroups = ["wheel"];
|
extraGroups = ["wheel"];
|
||||||
|
|
4
nix/systemProfiles/programs/corectrl.nix
Normal file
4
nix/systemProfiles/programs/corectrl.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
programs.corectrl.enable = true;
|
||||||
|
users.users.xun.extraGroups = ["corectrl"];
|
||||||
|
}
|
3
nix/systemProfiles/programs/openrgb.nix
Normal file
3
nix/systemProfiles/programs/openrgb.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
services.hardware.openrgb.enable = true;
|
||||||
|
}
|
|
@ -23,5 +23,6 @@
|
||||||
openssl # for generating passwords
|
openssl # for generating passwords
|
||||||
yt-dlp
|
yt-dlp
|
||||||
inotify-tools
|
inotify-tools
|
||||||
|
dig
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
2
nix/systemProfiles/themes/xundark.nix
Normal file
2
nix/systemProfiles/themes/xundark.nix
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
_: {pkgs, ...}: {
|
||||||
|
}
|
|
@ -1,5 +0,0 @@
|
||||||
config files for my puters
|
|
||||||
|
|
||||||
nixdesk - main desktop\
|
|
||||||
hopper - server\
|
|
||||||
kidney - wsl
|
|
9
readme.txt
Normal file
9
readme.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
config files for my puters
|
||||||
|
|
||||||
|
nixdesk - main desktop
|
||||||
|
hopper - server
|
||||||
|
kidney - wsl
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
drop stylix, or at least use it less
|
Loading…
Add table
Add a link
Reference in a new issue