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;
};
programs.steam = {
enable = true;
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
};
#System packages
environment.systemPackages = with pkgs; [
mullvad-vpn

8
etcnixos/flake.lock generated
View File

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

View File

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

View File

@ -107,10 +107,7 @@
};
programs.steam = {
enable = true;
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 = {

View File

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

View File

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

View File

@ -7,7 +7,6 @@
map (f: "${homeDirectory}/${f}") [
".zen"
".local/share/fish"
".config/Signal"
".wallpaper.png"
".ssh"
@ -17,6 +16,19 @@
"school"
"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;

View File

@ -2,166 +2,183 @@
config,
pkgs,
homeDirectory,
...
}:
{
prefer-no-csd = true;
programs.niri = {
package = pkgs.niri-unstable;
settings = {
prefer-no-csd = true;
spawn-at-startup = [
# waybar
{ 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;
environment = {
DISPLAY = ":0";
};
}
{ clip-to-geometry = true; }
];
binds = with config.lib.niri.actions; {
# application launcher
"Mod+Space".action = spawn [
"${pkgs.rofi-wayland}/bin/rofi"
"-show"
"combi"
];
spawn-at-startup = [
# waybar
{ command = [ "${pkgs.waybar}/bin/waybar" ]; }
# open a terminal
"Mod+T".action = spawn "${pkgs.alacritty}/bin/alacritty";
# swaybg works on more than just sway (sets a wallpaper)
{
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
"Print".action = screenshot;
"Ctrl+Print".action = screenshot-screen;
"Alt+Print".action = screenshot-window;
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; }
];
# 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"
];
binds = with config.lib.niri.actions; {
# application launcher
"Mod+Space".action = spawn [
"${pkgs.rofi-wayland}/bin/rofi"
"-show"
"combi"
];
#Display Brightness control
"XF86MonBrightnessUp".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"up"
];
"XF86MonBrightnessDown".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"down"
];
# open a terminal
"Mod+T".action = spawn "${pkgs.alacritty}/bin/alacritty";
# Force close a window
"Mod+Q".action = close-window;
# lock the screen
"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;
"Mod+Down".action = focus-window-down;
"Mod+Up".action = focus-window-up;
"Mod+Right".action = focus-column-right;
#Display Brightness control
"XF86MonBrightnessUp".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"up"
];
"XF86MonBrightnessDown".action = spawn [
"${pkgs.avizo}/bin/lightctl"
"down"
];
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
# Force close a window
"Mod+Q".action = close-window;
"Mod+Ctrl+Left".action = move-column-left;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Shift+Q".action = quit;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
# bindings for like window management ig
#fine adjustments to height and width of window
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
"Mod+Left".action = focus-column-left;
"Mod+Down".action = focus-window-down;
"Mod+Up".action = focus-window-up;
"Mod+Right".action = focus-column-right;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Ctrl+End".action = move-column-to-last;
"Mod+H".action = focus-column-left;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
"Mod+L".action = focus-column-right;
"Mod+Shift+Left".action = focus-monitor-left;
"Mod+Shift+Down".action = focus-monitor-down;
"Mod+Shift+Up".action = focus-monitor-up;
"Mod+Shift+Right".action = focus-monitor-right;
"Mod+Ctrl+Left".action = move-column-left;
"Mod+Ctrl+Down".action = move-window-down;
"Mod+Ctrl+Up".action = move-window-up;
"Mod+Ctrl+Right".action = move-column-right;
"Mod+Shift+H".action = focus-monitor-left;
"Mod+Shift+J".action = focus-monitor-down;
"Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Ctrl+H".action = move-column-left;
"Mod+Ctrl+J".action = move-window-down;
"Mod+Ctrl+K".action = move-window-up;
"Mod+Ctrl+L".action = move-column-right;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"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;
#fine adjustments to height and width of window
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
"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+Shift+Ctrl+J".action = move-column-to-monitor-down;
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
"Mod+Home".action = focus-column-first;
"Mod+End".action = focus-column-last;
"Mod+Ctrl+Home".action = move-column-to-first;
"Mod+Ctrl+End".action = move-column-to-last;
"Mod+Page_Down".action = focus-workspace-down;
"Mod+Page_Up".action = focus-workspace-up;
"Mod+U".action = focus-workspace-down;
"Mod+I".action = focus-workspace-up;
"Mod+Shift+Left".action = focus-monitor-left;
"Mod+Shift+Down".action = focus-monitor-down;
"Mod+Shift+Up".action = focus-monitor-up;
"Mod+Shift+Right".action = focus-monitor-right;
#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+Shift+H".action = focus-monitor-left;
"Mod+Shift+J".action = focus-monitor-down;
"Mod+Shift+K".action = focus-monitor-up;
"Mod+Shift+L".action = focus-monitor-right;
"Mod+Ctrl+U".action = move-column-to-workspace-down;
"Mod+Ctrl+I".action = move-column-to-workspace-up;
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
"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+BracketLeft".action = consume-or-expel-window-left;
"Mod+BracketRight".action = consume-or-expel-window-right;
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
"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+F".action = maximize-column;
"Mod+Shift+F".action = fullscreen-window;
"Mod+C".action = center-column;
"Mod+Page_Down".action = focus-workspace-down;
"Mod+Page_Up".action = focus-workspace-up;
"Mod+U".action = focus-workspace-down;
"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; [
wdisplays
@ -16,7 +19,8 @@
# manage bluetooth devices
blueman
niri
# used by /etc/nixos logic to launch niri
config.programs.niri.package
];
# bluetooth manager
@ -28,11 +32,6 @@
package = pkgs.dunst;
};
# window manager
programs.niri = {
settings = import ./progs/niri.nix { inherit config pkgs homeDirectory; };
};
programs.swaylock = {
enable = true;
settings = import ./progs/swaylock.nix;