Compare commits

..

4 Commits

Author SHA1 Message Date
295155cbd7 steam changes 2024-10-18 10:34:38 -04:00
0262e2cc07 trim signal backup 2024-10-18 10:34:25 -04:00
df9428efac fixes 2024-10-18 00:01:44 -04:00
385c0ff0c1 factorio prep and reorg 2024-10-17 23:56:09 -04:00
9 changed files with 196 additions and 166 deletions

View File

@@ -181,6 +181,11 @@
enableSSHSupport = false; enableSSHSupport = false;
}; };
programs.steam = {
enable = true;
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
#System packages #System packages
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
mullvad-vpn mullvad-vpn

8
etcnixos/flake.lock generated
View File

@@ -303,16 +303,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1728888510, "lastModified": 1729251725,
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "narHash": "sha256-KmIA2i7s3jcVQWgUt6wqY9/5DkIp9uxsVhcwUxSnKHY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "rev": "babe2c97edf3750d3924c1c5eaa1fe94ac94e8d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "master",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@@ -2,7 +2,9 @@
description = "A simple NixOS flake"; description = "A simple NixOS flake";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs.url = "github:NixOS/nixpkgs/master";
lanzaboote = { lanzaboote = {
url = "github:nix-community/lanzaboote"; url = "github:nix-community/lanzaboote";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -38,16 +40,12 @@
hostname = nixpkgs.lib.strings.removeSuffix "\n" (builtins.readFile /etc/hostname); hostname = nixpkgs.lib.strings.removeSuffix "\n" (builtins.readFile /etc/hostname);
system = "x86_64-linux"; system = "x86_64-linux";
# pkgs = import nixpkgs {
# config.replaceStdenv = { pkgs }: pkgs.clangStdenv;
# };
pkgs = import nixpkgs { pkgs = import nixpkgs {
config.allowUnfreePredicate = config.allowUnfreePredicate =
pkg: pkg:
builtins.elem (nixpkgs.lib.getName pkg) [ builtins.elem (nixpkgs.lib.getName pkg) [
"steam-unwrapped"
"steam" "steam"
"steam-original"
"steam-run"
]; ];
}; };
in in

View File

@@ -107,10 +107,7 @@
}; };
programs.steam = { programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
# dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
}; };
# services.ollama = { # services.ollama = {

View File

@@ -72,11 +72,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729174520, "lastModified": 1729260213,
"narHash": "sha256-QxCAdgQdeIOaCiE0Sr23s9lD0+T1b/wuz5pSiGwNrCQ=", "narHash": "sha256-jAvHoU/1y/yCuXzr2fNF+q6uKmr8Jj2xgAisK4QB9to=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e78cbb20276f09c1802e62d2f77fc93ec32da268", "rev": "09a0c0c02953318bf94425738c7061ffdc4cba75",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -98,11 +98,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1729189676, "lastModified": 1729237583,
"narHash": "sha256-oTvN+vxzOW+zzkmSnRUtItzismkOL+Z5kAU26Tf2HSE=", "narHash": "sha256-DmbzRBqTP+LIzyPkle92bN83GOjO02pPxW0OAL6yTsI=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "c547a861a5f968b0b783de5dbfad159303c6c19a", "rev": "1ca158ad24664a2608d9fe5f6627274bb7c6e939",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -131,11 +131,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1729144746, "lastModified": 1729235169,
"narHash": "sha256-Ocq+8Kc4gp8PLPziHkMZN0F+HuCS9mbxusJHtFdKoP8=", "narHash": "sha256-SPlS9YtGRWUjZZZRXlimHbSho+0hfrqGycErlI9XVXk=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "8d08782eba427a46607a478d088744d023a292c3", "rev": "dd8b2be044c6c67a1c9bf07f287b3967e958b8aa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -205,11 +205,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729184663, "lastModified": 1729218602,
"narHash": "sha256-uNyi5vQrzaLkt4jj6ZEOs4+4UqOAwP6jFG2s7LIDwIk=", "narHash": "sha256-KDmYxpkFWa0Go0WnOpkgQOypVaQxbwgpEutET5ey1VQ=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "16fb78d443c1970dda9a0bbb93070c9d8598a925", "rev": "9051466c82b9b3a6ba9e06be99621ad25423ec94",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -73,6 +73,7 @@
optimizeWithFlags optimizeWithFlags
; ;
}; };
modules = [ modules = [
./system-${hostname}.nix ./system-${hostname}.nix
niri.homeModules.config niri.homeModules.config
@@ -83,6 +84,7 @@
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
rust-overlay.overlays.default rust-overlay.overlays.default
inputs.niri.overlays.niri
]; ];
# home-manager stuff # home-manager stuff

View File

@@ -7,7 +7,6 @@
map (f: "${homeDirectory}/${f}") [ map (f: "${homeDirectory}/${f}") [
".zen" ".zen"
".local/share/fish" ".local/share/fish"
".config/Signal"
".wallpaper.png" ".wallpaper.png"
".ssh" ".ssh"
@@ -17,6 +16,19 @@
"school" "school"
"justfile" "justfile"
] ]
++ (map (f: ".config/Signal/${f}") [
"stickers.noindex"
"attachments.noindex"
"downloads.noindex"
"drafts.noindex"
"sql"
"IndexedDB"
"Local Storage"
"SharedStorage"
"config.json"
"ephemeral.json"
"Preferences"
])
); );
excludeHomeManagerSymlinks = true; excludeHomeManagerSymlinks = true;

View File

@@ -2,166 +2,183 @@
config, config,
pkgs, pkgs,
homeDirectory, homeDirectory,
...
}: }:
{ {
prefer-no-csd = true; programs.niri = {
package = pkgs.niri-unstable;
settings = {
prefer-no-csd = true;
spawn-at-startup = [ environment = {
# waybar DISPLAY = ":0";
{ command = [ "${pkgs.waybar}/bin/waybar" ]; }
# swaybg works on more than just sway (sets a wallpaper)
{
command = [
"${pkgs.swaybg}/bin/swaybg"
"-m"
"center"
"-i"
"${homeDirectory}/.wallpaper.png"
];
}
];
window-rules = [
{ draw-border-with-background = false; }
{
geometry-corner-radius = {
top-left = 10.0;
top-right = 10.0;
bottom-right = 10.0;
bottom-left = 10.0;
}; };
}
{ clip-to-geometry = true; }
];
binds = with config.lib.niri.actions; { spawn-at-startup = [
# application launcher # waybar
"Mod+Space".action = spawn [ { command = [ "${pkgs.waybar}/bin/waybar" ]; }
"${pkgs.rofi-wayland}/bin/rofi"
"-show"
"combi"
];
# open a terminal # swaybg works on more than just sway (sets a wallpaper)
"Mod+T".action = spawn "${pkgs.alacritty}/bin/alacritty"; {
command = [
"${pkgs.swaybg}/bin/swaybg"
"-m"
"center"
"-i"
"${homeDirectory}/.wallpaper.png"
];
}
# lock the screen {
"Mod+X".action = spawn "${pkgs.swaylock}/bin/swaylock"; command = [
"${pkgs.xwayland-satellite-unstable}/bin/xwayland-satellite"
(builtins.toString config.programs.niri.settings.environment.DISPLAY)
];
}
];
# screenshotting window-rules = [
"Print".action = screenshot; { draw-border-with-background = false; }
"Ctrl+Print".action = screenshot-screen; {
"Alt+Print".action = screenshot-window; geometry-corner-radius = {
top-left = 10.0;
top-right = 10.0;
bottom-right = 10.0;
bottom-left = 10.0;
};
}
{ clip-to-geometry = true; }
];
# Volume control binds = with config.lib.niri.actions; {
"XF86AudioRaiseVolume".action = spawn [ # application launcher
"${pkgs.avizo}/bin/volumectl" "Mod+Space".action = spawn [
"-u" "${pkgs.rofi-wayland}/bin/rofi"
"up" "-show"
]; "combi"
"XF86AudioLowerVolume".action = spawn [ ];
"${pkgs.avizo}/bin/volumectl"
"-u"
"down"
];
"XF86AudioMute".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"toggle-mute"
];
"XF86AudioMicMute".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"-m"
"toggle-mute"
];
#Display Brightness control # open a terminal
"XF86MonBrightnessUp".action = spawn [ "Mod+T".action = spawn "${pkgs.alacritty}/bin/alacritty";
"${pkgs.avizo}/bin/lightctl"
"up"
];
"XF86MonBrightnessDown".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"down"
];
# Force close a window # lock the screen
"Mod+Q".action = close-window; "Mod+X".action = spawn "${pkgs.swaylock}/bin/swaylock";
"Mod+Shift+Q".action = quit; # screenshotting
"Print".action = screenshot;
"Ctrl+Print".action = screenshot-screen;
"Alt+Print".action = screenshot-window;
# bindings for like window management ig # Volume control
"XF86AudioRaiseVolume".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"-u"
"up"
];
"XF86AudioLowerVolume".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"-u"
"down"
];
"XF86AudioMute".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"toggle-mute"
];
"XF86AudioMicMute".action = spawn [
"${pkgs.avizo}/bin/volumectl"
"-m"
"toggle-mute"
];
"Mod+Left".action = focus-column-left; #Display Brightness control
"Mod+Down".action = focus-window-down; "XF86MonBrightnessUp".action = spawn [
"Mod+Up".action = focus-window-up; "${pkgs.avizo}/bin/lightctl"
"Mod+Right".action = focus-column-right; "up"
];
"XF86MonBrightnessDown".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"down"
];
"Mod+H".action = focus-column-left; # Force close a window
"Mod+J".action = focus-window-down; "Mod+Q".action = close-window;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
"Mod+Ctrl+Left".action = move-column-left; "Mod+Shift+Q".action = quit;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Ctrl+H".action = move-column-left; # bindings for like window management ig
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
#fine adjustments to height and width of window "Mod+Left".action = focus-column-left;
"Mod+Minus".action = set-column-width "-10%"; "Mod+Down".action = focus-window-down;
"Mod+Equal".action = set-column-width "+10%"; "Mod+Up".action = focus-window-up;
"Mod+Shift+Minus".action = set-window-height "-10%"; "Mod+Right".action = focus-column-right;
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Home".action = focus-column-first; "Mod+H".action = focus-column-left;
"Mod+End".action = focus-column-last; "Mod+J".action = focus-window-down;
"Mod+Ctrl+Home".action = move-column-to-first; "Mod+K".action = focus-window-up;
"Mod+Ctrl+End".action = move-column-to-last; "Mod+L".action = focus-column-right;
"Mod+Shift+Left".action = focus-monitor-left; "Mod+Ctrl+Left".action = move-column-left;
"Mod+Shift+Down".action = focus-monitor-down; "Mod+Ctrl+Down".action = move-window-down;
"Mod+Shift+Up".action = focus-monitor-up; "Mod+Ctrl+Up".action = move-window-up;
"Mod+Shift+Right".action = focus-monitor-right; "Mod+Ctrl+Right".action = move-column-right;
"Mod+Shift+H".action = focus-monitor-left; "Mod+Ctrl+H".action = move-column-left;
"Mod+Shift+J".action = focus-monitor-down; "Mod+Ctrl+J".action = move-window-down;
"Mod+Shift+K".action = focus-monitor-up; "Mod+Ctrl+K".action = move-window-up;
"Mod+Shift+L".action = focus-monitor-right; "Mod+Ctrl+L".action = move-column-right;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left; #fine adjustments to height and width of window
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down; "Mod+Minus".action = set-column-width "-10%";
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up; "Mod+Equal".action = set-column-width "+10%";
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right; "Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left; "Mod+Home".action = focus-column-first;
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down; "Mod+End".action = focus-column-last;
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up; "Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right; "Mod+Ctrl+End".action = move-column-to-last;
"Mod+Page_Down".action = focus-workspace-down; "Mod+Shift+Left".action = focus-monitor-left;
"Mod+Page_Up".action = focus-workspace-up; "Mod+Shift+Down".action = focus-monitor-down;
"Mod+U".action = focus-workspace-down; "Mod+Shift+Up".action = focus-monitor-up;
"Mod+I".action = focus-workspace-up; "Mod+Shift+Right".action = focus-monitor-right;
#move a window up and down workspaces "Mod+Shift+H".action = focus-monitor-left;
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down; "Mod+Shift+J".action = focus-monitor-down;
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up; "Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Ctrl+U".action = move-column-to-workspace-down; "Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"Mod+Ctrl+I".action = move-column-to-workspace-up; "Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
#does little squeeze thing into the left or right position with another window "Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Mod+BracketLeft".action = consume-or-expel-window-left; "Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Mod+BracketRight".action = consume-or-expel-window-right; "Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Mod+R".action = switch-preset-column-width; "Mod+Page_Down".action = focus-workspace-down;
"Mod+F".action = maximize-column; "Mod+Page_Up".action = focus-workspace-up;
"Mod+Shift+F".action = fullscreen-window; "Mod+U".action = focus-workspace-down;
"Mod+C".action = center-column; "Mod+I".action = focus-workspace-up;
#move a window up and down workspaces
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
"Mod+Ctrl+U".action = move-column-to-workspace-down;
"Mod+Ctrl+I".action = move-column-to-workspace-up;
#does little squeeze thing into the left or right position with another window
"Mod+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
"Mod+R".action = switch-preset-column-width;
"Mod+F".action = maximize-column;
"Mod+Shift+F".action = fullscreen-window;
"Mod+C".action = center-column;
};
};
}; };
} }

View File

@@ -6,7 +6,10 @@
... ...
}: }:
{ {
imports = [ ./gui.nix ]; imports = [
./gui.nix
./progs/niri.nix
];
home.packages = with pkgs; [ home.packages = with pkgs; [
wdisplays wdisplays
@@ -16,7 +19,8 @@
# manage bluetooth devices # manage bluetooth devices
blueman blueman
niri # used by /etc/nixos logic to launch niri
config.programs.niri.package
]; ];
# bluetooth manager # bluetooth manager
@@ -28,11 +32,6 @@
package = pkgs.dunst; package = pkgs.dunst;
}; };
# window manager
programs.niri = {
settings = import ./progs/niri.nix { inherit config pkgs homeDirectory; };
};
programs.swaylock = { programs.swaylock = {
enable = true; enable = true;
settings = import ./progs/swaylock.nix; settings = import ./progs/swaylock.nix;