From 919673e994ce66079fe23b5b594655dae3b1e6d2 Mon Sep 17 00:00:00 2001 From: Sebastian Moser Date: Thu, 19 Jun 2025 10:32:25 +0200 Subject: [PATCH] ... --- common/all.nix | 2 + common/nixos-wayland.nix | 196 +++++++++++++++++++++++---------------- flake.lock | 193 ++++++++++++++++++++++++-------------- flake.nix | 2 + hosts/fusu.nix | 104 +++++++++++++++++++++ hosts/lush.nix | 1 + hosts/mac.nix | 102 ++++++++++++++++---- hosts/main.nix | 66 +++++++++++-- misc/my-hosts | 4 +- misc/my-hosts-h | 2 +- mybin/htldoc | 15 ++- programs/bash.nix | 15 ++- programs/ssh.nix | 7 ++ random-pkgs.nix | 4 + 14 files changed, 530 insertions(+), 183 deletions(-) diff --git a/common/all.nix b/common/all.nix index fe87dfd..d7acd87 100644 --- a/common/all.nix +++ b/common/all.nix @@ -38,6 +38,8 @@ nix.channel.enable = false; + services.openssh.settings.GatewayPorts = "clientspecified"; + # This value determines the NixOS release from which the default diff --git a/common/nixos-wayland.nix b/common/nixos-wayland.nix index 0c5e58b..eb6cddb 100644 --- a/common/nixos-wayland.nix +++ b/common/nixos-wayland.nix @@ -8,12 +8,12 @@ # - win + D command # - kernel output for luks pwd on all displays -{ pkgs, nur, unstable, ... }: { +{ lib, pkgs, nur, unstable, ... }: { services.greetd = { enable = true; - settings = { - default_session = { + settings = rec { + initial_session = { #command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time -d --env WLR_RENDERER_ALLOW_SOFTWARE=1 --cmd sway"; command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd ${pkgs.writeScriptBin "run-sway" '' export WLR_RENDERER_ALLOW_SOFTWARE=1 @@ -26,6 +26,7 @@ ''}/bin/run-sway"; user = "me"; }; + default_session = initial_session; }; }; @@ -194,35 +195,40 @@ ### Output configuration output * scale 1 bg #121212 solid_color - output "HEADLESS-1" { - mode 1920x1080@1.0Hz - pos 5760 532 - transform normal - scale 1.0 - scale_filter nearest - adaptive_sync off - dpms on - } + #################### from nwg-display + output "eDP-1" { + mode 1920x1080@60.001Hz + pos 0 1181 + transform normal + scale 1.0 + scale_filter nearest + adaptive_sync off + dpms on + } + output "HEADLESS-1" { + mode 1920x1080@1.0Hz + pos 5760 532 + transform normal + scale 1.0 + scale_filter nearest + adaptive_sync off + dpms on + } + output "DP-1" { + mode 3840x2160@59.997Hz + pos 1920 0 + transform normal + scale 1.0 + scale_filter nearest + adaptive_sync off + dpms on + } + #################### end from nwg-display - output "eDP-1" { - mode 1920x1080@60.001Hz - pos 0 884 - transform normal - scale 1.0 - scale_filter nearest - adaptive_sync off - dpms on - } - output "DP-1" { - mode 3840x2160@59.997Hz - pos 1920 0 - transform normal - scale 1.0 - scale_filter nearest - adaptive_sync off - dpms on - } - workspace 5 output eDP-1 + set $disp2 "DP-1" + set $disp1 "eDP-1" + + workspace 7 output eDP-1 workspace 0 output HEADLESS-1 ### Input configuration @@ -276,6 +282,8 @@ systemctl suspend-then-hibernate ''}/bin/my-lock + exec '/usr/bin/env bash -c "sleep 10; systemctl --user start lan-mouse"' + #assign [class="vesktop"] workspace 1 #assign [class="Signal"] workspace 1 #assign [app_id="firefox"] workspace 2 @@ -284,6 +292,7 @@ ### Key bindings #bindsym Mod4+Shift+Return exec $term + bindsym $mod exec alacritty bindsym --locked $mod+d exec wlr-randr --output eDP-1 --on bindsym --locked $mod+Shift+d exec wlr-randr --output eDP-1 --off @@ -343,61 +352,86 @@ bindsym $mod+Up focus up bindsym $mod+Right focus right - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - + bindsym $mod+Shift+$left mark swap, focus left, swap container with mark swap, focus left, unmark swap + bindsym $mod+Shift+$right mark swap, focus right, swap container with mark swap, focus right, unmark swap + bindsym $mod+Shift+$up mark swap, focus up, swap container with mark swap, focus up, unmark swap + bindsym $mod+Shift+$down mark swap, focus down, swap container with mark swap, focus down, unmark swap + + # the old way of moving around bindsym $mod+Shift+Left move left bindsym $mod+Shift+Down move down bindsym $mod+Shift+Up move up bindsym $mod+Shift+Right move right - #bindsym $mod+u workspace prev - #bindsym $mod+i workspace next - # Workspaces: + + ############################ Workspaces: + + # the sticky workspaces, that are the same in all workrooms + bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 bindsym $mod+7 workspace number 7 bindsym $mod+8 workspace number 8 bindsym $mod+9 workspace number 9 bindsym $mod+0 workspace number 10 + bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 bindsym $mod+Shift+7 move container to workspace number 7 bindsym $mod+Shift+8 move container to workspace number 8 bindsym $mod+Shift+9 move container to workspace number 9 bindsym $mod+Shift+0 move container to workspace number 10 - # define display output names - set $disp1 "eDP-1" - set $disp2 "DP-1" - # default display outputs for workspaces with fallback to disp1 workspace 1 output $disp2 $disp1 - workspace 2 output $disp2 $disp1 - workspace 3 output $disp2 $disp1 - workspace 4 output $disp2 $disp1 - workspace 5 output $disp2 $disp1 workspace 6 output $disp2 $disp1 - workspace 7 output $disp2 $disp1 workspace 8 output $disp2 $disp1 workspace 9 output $disp2 $disp1 - workspace 10 output $disp2 $disp1 + workspace 7 output eDP-1 + workspace 0 output HEADLESS-1 workspace_auto_back_and_forth false + focus_wrapping workspace - # Fx stuff: + # Workrooms: + set $workroom d + set $workspace 0 + + # nav to workspaces in workrooms + bindsym $mod+2 set $$workspace 2; workspace $$workroom$$workspace + bindsym $mod+3 set $$workspace 3; workspace $$workroom$$workspace + bindsym $mod+4 set $$workspace 4; workspace $$workroom$$workspace + bindsym $mod+5 set $$workspace 5; workspace $$workroom$$workspace + bindsym $mod+6 set $$workspace 6; workspace $$workroom$$workspace + + # move windows to workspaces in workrooms + bindsym $mod+Shift+2 set $$tmp-workspace 2; move container to workspace $$workroom$$tmp-workspace + bindsym $mod+Shift+3 set $$tmp-workspace 3; move container to workspace $$workroom$$tmp-workspace + bindsym $mod+Shift+4 set $$tmp-workspace 4; move container to workspace $$workroom$$tmp-workspace + bindsym $mod+Shift+5 set $$tmp-workspace 5; move container to workspace $$workroom$$tmp-workspace + bindsym $mod+Shift+6 set $$tmp-workspace 6; move container to workspace $$workroom$$tmp-workspace + + # set outputs for workspaces in workrooms + ${ + let + mkLine = workroom: workspace: "workspace ${workroom}${workspace} output $disp2 $disp1\n"; + in + lib.strings.concatStringsSep "\n" (builtins.map (workroom: lib.strings.concatStringsSep "\n" (builtins.map (workspace: mkLine workroom workspace) [ "2" "3" "4" "5" "6" ])) [ "d" "m" "a" "b" "c" ]) + } + + # change workrooms + mode ChangeWorkroom { + bindsym Escape mode "default" + bindsym $mod+d set $$workroom d; workspace $$workroom$$workspace; mode "default" + bindsym $mod+m set $$workroom m; workspace $$workroom$$workspace; mode "default" + bindsym $mod+a set $$workroom a; workspace $$workroom$$workspace; mode "default" + bindsym $mod+b set $$workroom b; workspace $$workroom$$workspace; mode "default" + bindsym $mod+c set $$workroom c; workspace $$workroom$$workspace; mode "default" + } + + bindsym $mod+m mode ChangeWorkroom + + ############################# Fx stuff: blur disable blur_passes 0 blur_radius 1 @@ -428,9 +462,10 @@ bindsym $mod+Period layout toggle split bindsym $mod+space fullscreen - bindsym $mod+Shift+space floating toggle + bindsym $mod+Shift+m floating toggle + #bindsym $mod+r focus mode_toggle - bindsym $mod+r exec sh -c "echo Run > ~/.mize/mize_dev_module/pipe" + #bindsym $mod+r exec sh -c "echo Run > ~/.mize/mize_dev_module/pipe" # Scratchpad: # Sway has a "scratchpad", which is a bag of holding for windows. @@ -444,27 +479,30 @@ bindsym $mod+Tab scratchpad show # Resizing containers: - #mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - set $move_amount 175px + #mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + set $move_amount 175px - bindsym $mod+Mod1+$right resize grow width $move_amount - bindsym $mod+Mod1+$up resize shrink height $move_amount - bindsym $mod+Mod1+$down resize grow height $move_amount - bindsym $mod+Mod1+$left resize shrink width $move_amount + bindsym $mod+Mod1+$right resize grow width $move_amount + bindsym $mod+Mod1+$up resize shrink height $move_amount + bindsym $mod+Mod1+$down resize grow height $move_amount + bindsym $mod+Mod1+$left resize shrink width $move_amount - bindsym $mod+Mod1+Left resize grow width $move_amount - bindsym $mod+Mod1+Down resize shrink height $move_amount - bindsym $mod+Mod1+Up resize grow height $move_amount - bindsym $mod+Mod1+Right resize shrink width $move_amount + bindsym $mod+Mod1+Right resize grow width $move_amount + bindsym $mod+Mod1+Up resize shrink height $move_amount + bindsym $mod+Mod1+Down resize grow height $move_amount + bindsym $mod+Mod1+Left resize shrink width $move_amount # Return to default mode - # bindsym Return mode "default" - # bindsym Escape mode "default" - # bindsym $mod+r mode "resize" + # bindsym Return mode "default" + # bindsym Escape mode "default" + # bindsym $mod+r mode "resize" + + # window rules + for_window [app_id="satty"] floating enable ''; }; diff --git a/flake.lock b/flake.lock index cabf8f6..4cc9c37 100644 --- a/flake.lock +++ b/flake.lock @@ -4,7 +4,7 @@ "inputs": { "devshell": "devshell", "flake-utils": "flake-utils_7", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_7" }, "locked": { "lastModified": 1638562808, @@ -25,7 +25,7 @@ "inputs": { "devshell": "devshell_2", "flake-utils": "flake-utils_14", - "nixpkgs": "nixpkgs_13" + "nixpkgs": "nixpkgs_14" }, "locked": { "lastModified": 1638562808, @@ -46,7 +46,7 @@ "inputs": { "devshell": "devshell_3", "flake-utils": "flake-utils_21", - "nixpkgs": "nixpkgs_21" + "nixpkgs": "nixpkgs_22" }, "locked": { "lastModified": 1638562808, @@ -76,7 +76,7 @@ "nix-wsl": "nix-wsl_2", "nixos-generators": "nixos-generators_2", "nixos-hardware": "nixos-hardware_2", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_12", "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_4", "nixpkgs-unstable": "nixpkgs-unstable_2", "nur": "nur_2", @@ -113,7 +113,7 @@ "nix-wsl": "nix-wsl_3", "nixos-generators": "nixos-generators_3", "nixos-hardware": "nixos-hardware_3", - "nixpkgs": "nixpkgs_19", + "nixpkgs": "nixpkgs_20", "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_6", "nixpkgs-unstable": "nixpkgs-unstable_3", "podman": "podman_3", @@ -811,7 +811,7 @@ "flake-compat": "flake-compat_4", "lib-aggregate": "lib-aggregate_2", "mozilla": "mozilla_2", - "nixpkgs": "nixpkgs_8" + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1714587578, @@ -833,7 +833,7 @@ "flake-compat": "flake-compat_7", "lib-aggregate": "lib-aggregate_3", "mozilla": "mozilla_3", - "nixpkgs": "nixpkgs_15" + "nixpkgs": "nixpkgs_16" }, "locked": { "lastModified": 1714047754, @@ -1552,6 +1552,25 @@ "type": "github" } }, + "lan-mouse": { + "inputs": { + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1743554389, + "narHash": "sha256-+Pd63NmfbuksNw+vJh+jJbXcx/PdCxVDXHGWaAfNDKo=", + "owner": "feschber", + "repo": "lan-mouse", + "rev": "b8063a813884b7444fe567deee8f61ff7931d351", + "type": "github" + }, + "original": { + "owner": "feschber", + "repo": "lan-mouse", + "type": "github" + } + }, "lib-aggregate": { "inputs": { "flake-utils": "flake-utils", @@ -1686,7 +1705,7 @@ }, "my-log": { "inputs": { - "nixpkgs": "nixpkgs_16" + "nixpkgs": "nixpkgs_17" }, "locked": { "lastModified": 1712193044, @@ -1759,7 +1778,7 @@ "flake-utils": "flake-utils_4", "format-all": "format-all", "nix-straight": "nix-straight", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nose": "nose", "ob-racket": "ob-racket", "org": "org", @@ -1801,7 +1820,7 @@ "flake-utils": "flake-utils_11", "format-all": "format-all_2", "nix-straight": "nix-straight_2", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "nose": "nose_2", "ob-racket": "ob-racket_2", "org": "org_2", @@ -1843,7 +1862,7 @@ "flake-utils": "flake-utils_18", "format-all": "format-all_3", "nix-straight": "nix-straight_3", - "nixpkgs": "nixpkgs_17", + "nixpkgs": "nixpkgs_18", "nose": "nose_3", "ob-racket": "ob-racket_3", "org": "org_3", @@ -2178,7 +2197,7 @@ "inputs": { "flake-compat": "flake-compat_3", "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4" }, "locked": { "lastModified": 1729203674, @@ -2198,7 +2217,7 @@ "inputs": { "flake-compat": "flake-compat_6", "flake-utils": "flake-utils_12", - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_11" }, "locked": { "lastModified": 1714355896, @@ -2218,7 +2237,7 @@ "inputs": { "flake-compat": "flake-compat_9", "flake-utils": "flake-utils_19", - "nixpkgs": "nixpkgs_18" + "nixpkgs": "nixpkgs_19" }, "locked": { "lastModified": 1713947658, @@ -2685,6 +2704,21 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1695806987, + "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixpkgs-unstable", + "type": "indirect" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1714272655, "narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=", @@ -2700,7 +2734,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1714564312, "narHash": "sha256-+Pu+QmY5u33E+PMulmvLiyAgZDi2bgbV5LEtiVXa0c4=", @@ -2716,7 +2750,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 1613434981, "narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=", @@ -2730,7 +2764,7 @@ "type": "indirect" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1637841632, "narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=", @@ -2746,7 +2780,7 @@ "type": "github" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1638371214, "narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=", @@ -2762,7 +2796,7 @@ "type": "github" } }, - "nixpkgs_15": { + "nixpkgs_16": { "locked": { "lastModified": 1713895582, "narHash": "sha256-cfh1hi+6muQMbi9acOlju3V1gl8BEaZBXBR9jQfQi4U=", @@ -2778,7 +2812,7 @@ "type": "github" } }, - "nixpkgs_16": { + "nixpkgs_17": { "locked": { "lastModified": 1702830618, "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=", @@ -2794,7 +2828,7 @@ "type": "github" } }, - "nixpkgs_17": { + "nixpkgs_18": { "locked": { "lastModified": 1695806987, "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", @@ -2809,7 +2843,7 @@ "type": "indirect" } }, - "nixpkgs_18": { + "nixpkgs_19": { "locked": { "lastModified": 1713013257, "narHash": "sha256-ZEfGB3YCBVggvk0BQIqVY7J8XF/9jxQ68fCca6nib+8=", @@ -2825,7 +2859,23 @@ "type": "github" } }, - "nixpkgs_19": { + "nixpkgs_2": { + "locked": { + "lastModified": 1740560979, + "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "5135c59491985879812717f4c9fea69604e7f26f", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_20": { "locked": { "lastModified": 1714082080, "narHash": "sha256-ntuxg7lSDr6HNZ9/3fVf6qFy/FNGvEAHYM0lXgyrW5w=", @@ -2841,22 +2891,7 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1695806987, - "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixpkgs-unstable", - "type": "indirect" - } - }, - "nixpkgs_20": { + "nixpkgs_21": { "locked": { "lastModified": 1613434981, "narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=", @@ -2870,7 +2905,7 @@ "type": "indirect" } }, - "nixpkgs_21": { + "nixpkgs_22": { "locked": { "lastModified": 1637841632, "narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=", @@ -2886,7 +2921,7 @@ "type": "github" } }, - "nixpkgs_22": { + "nixpkgs_23": { "locked": { "lastModified": 1638371214, "narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=", @@ -2903,6 +2938,21 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1695806987, + "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixpkgs-unstable", + "type": "indirect" + } + }, + "nixpkgs_4": { "locked": { "lastModified": 1728740863, "narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=", @@ -2918,7 +2968,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1741892592, "narHash": "sha256-ai0XSujeUYInQtp1u6TQfrTx9Vtv9bAOkK63lWcttzk=", @@ -2934,7 +2984,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1613434981, "narHash": "sha256-Q6JRyPs5g2AXov/yEof//jOOiQ/VZVxrSYC7jiCEhSE=", @@ -2948,7 +2998,7 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { "lastModified": 1637841632, "narHash": "sha256-QYqiKHdda0EOnLGQCHE+GluD/Lq2EJj4hVTooPM55Ic=", @@ -2964,7 +3014,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1638371214, "narHash": "sha256-0kE6KhgH7n0vyuX4aUoGsGIQOqjIx2fJavpCWtn73rc=", @@ -2980,7 +3030,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1714253743, "narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=", @@ -2996,21 +3046,6 @@ "type": "github" } }, - "nixpkgs_9": { - "locked": { - "lastModified": 1695806987, - "narHash": "sha256-fX5kGs66NZIxCMcpAGIpxuftajHL8Hil1vjHmjjl118=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f3dab3509afca932f3f4fd0908957709bb1c1f57", - "type": "github" - }, - "original": { - "id": "nixpkgs", - "ref": "nixpkgs-unstable", - "type": "indirect" - } - }, "nmd": { "flake": false, "locked": { @@ -3476,7 +3511,7 @@ "podman": { "inputs": { "flake-utils": "flake-utils_6", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { "lastModified": 1661906180, @@ -3495,7 +3530,7 @@ "podman_2": { "inputs": { "flake-utils": "flake-utils_13", - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1661906180, @@ -3514,7 +3549,7 @@ "podman_3": { "inputs": { "flake-utils": "flake-utils_20", - "nixpkgs": "nixpkgs_20" + "nixpkgs": "nixpkgs_21" }, "locked": { "lastModified": 1661906180, @@ -3605,7 +3640,7 @@ "robotnix": { "inputs": { "androidPkgs": "androidPkgs", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_8", "nixpkgsUnstable": "nixpkgsUnstable" }, "locked": { @@ -3625,7 +3660,7 @@ "robotnix_2": { "inputs": { "androidPkgs": "androidPkgs_2", - "nixpkgs": "nixpkgs_14", + "nixpkgs": "nixpkgs_15", "nixpkgsUnstable": "nixpkgsUnstable_2" }, "locked": { @@ -3645,7 +3680,7 @@ "robotnix_3": { "inputs": { "androidPkgs": "androidPkgs_3", - "nixpkgs": "nixpkgs_22", + "nixpkgs": "nixpkgs_23", "nixpkgsUnstable": "nixpkgsUnstable_3" }, "locked": { @@ -3669,6 +3704,7 @@ "flake-utils": "flake-utils_3", "home-manager": "home-manager", "home-manager-old": "home-manager-old", + "lan-mouse": "lan-mouse", "networkmanager": "networkmanager", "nix-doom-emacs": "nix-doom-emacs", "nix-index-database": "nix-index-database", @@ -3676,7 +3712,7 @@ "nix-wsl": "nix-wsl", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "nixpkgs-for-bootstrap": "nixpkgs-for-bootstrap_2", "nixpkgs-old": "nixpkgs-old", "nixpkgs-unstable": "nixpkgs-unstable", @@ -3756,6 +3792,27 @@ "type": "github" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "lan-mouse", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1740623427, + "narHash": "sha256-3SdPQrZoa4odlScFDUHd4CUPQ/R1gtH4Mq9u8CBiK8M=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "d342e8b5fd88421ff982f383c853f0fc78a847ab", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sln-mode": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 47493b6..8cb1385 100644 --- a/flake.nix +++ b/flake.nix @@ -44,6 +44,8 @@ networkmanager.url = "github:c2vi/nixos-networkmanager-profiles"; + lan-mouse.url = "github:feschber/lan-mouse"; + robotnix = { #url = "github:nix-community/robotnix"; url = "github:c2vi/robotnix"; diff --git a/hosts/fusu.nix b/hosts/fusu.nix index 695077f..ae0e85b 100644 --- a/hosts/fusu.nix +++ b/hosts/fusu.nix @@ -146,6 +146,7 @@ ]; environment.systemPackages = with pkgs; [ + sshfs ntfs3g virtiofsd bcache-tools @@ -390,5 +391,108 @@ }; + ############################## backups to fusu ################################## + + users.users.borgs = { + uid = 2000; + isNormalUser = true; + group = "borgs"; + }; + users.groups.borgs = { + gid = 2000; + }; + home-manager.users.borgs = { secretsDir, ... }: { + + imports = [ + ../users/common/home.nix + ]; + + home.file.".ssh/known_hosts".text = '' + 195.201.148.94 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBuxoYAjNYi3q2SFlzoVQTePcsnmT+qFHuaiiclC+S5I + 195.201.148.94 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtDgdBTd8apRMBTweK9ZMRTdFqkU1mbKQDmyXSXbhSQAYwlgkmh1ee4TBE4nt/2b28QT5AqWOazVraqlAoSp+n7GwdsPH26lhbuF+ZVHq05X3RuJLmbhOsa6QlPzjSHiyj+Onkmj9DyXwKhhMErGcT1n2nhC4Oi007qsqcYQIB/YJ7hmMDABMzm9Bwd5Rk6xsDfz+9umvSMpwtfctpKixoVq90Fe3X6wloo5sgXpqfdP1IDFxfiaDp6nOQuOhvcA1Z67oGpW3T8CbZ5aDqA8e1vtpkl7oT3YolR+5153B/e0zOSAk8AabfkLdvrReECg2AHloH7hf9TOBVH0RVZluK+GRVJoaO2b3EspwIlThdQthiZH5/6vwDLsY6zNw6bUlKNntcNbJ5ZHc7zVv03Zlbpp6aWye0O3HR1PkaOo7pragEX9VAGj8Af2fNinSZVtd30gZlRFhLXQRAad+gC9R/5Q9X7V9BZBbWZ3J9DCP5zFoM9Y2R2YySjHX8Dmy7Jps= + 195.201.148.94 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAFh44c1Efqv/g8lvjDSY6uBYevByf1fg4BhLVcfYudqrSSSwbeaPrv6B+M5psrHo6/zthciDzp4oYUG8ANVRWs= + [localhost]:49388 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFr1jHueUdsh4Bc9meR1Var4hbZKLCnZGfCSpsP0oOeS + [localhost]:49388 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHr9ZzEzC+2s1YNfPsFqDMbZv+o4XG2tEWlAF3DzzgdDawwxSj963qR46OqefPO+yiPBR/x3tFjXtSQ96qDcum9fzuiSzB+z5+/Zhs7VWEPi9ugGTDLFpX823EQrgcVKFE4jWnGsx6Ek8C9YojKgKf5afHG+ww2jNhTPHgVTrQkqo0JzUEnfjhJ/1/WluzpiGHfIy9re5MU10f2z9Vja7M0oDZ/Je+zavA4tlQpZ3URQnCEKC2vf7DhtwYBAOuyXKMdUSaTNdeTytmDjxdhJ38q8bwTHtfLUBzyYjW012Q5d1+/g1dqInu99uN/+UjTJc/GFiqLCE0tmco1GafptnKHJLgDC93vE832G5qvxhykfUAJdNW58kbWugeQm6Rb0i1UL5ckVHurMZT9BL6E9LKV0SewozyBtnA21RKu1vsheN86N0uBLwn3v1r0H3xPL4+S1WbmpXpIoCAoyTLc2janw2Gt22W1p08tv+a+lntFVqBn5ZSpcaUxQ6wRQQAfokqDh5YUzb+Tu9Fxi483qb6bd18io3kMLDre3G4xXqlvAB386Uj8iAYivmZIPBEFDCWBVki9LzWPfQGumgYN0CqSM6Gpqk0RnyU1CNPACEGaRpE1ph4Dgl9NQzRCiw/fEUiMZy1CTkly1YCiqSpp2iMmsJw+QJjfAbehEP+Tl8NIQ== + ''; + + programs.ssh = { + enable = true; + matchBlocks = { + "*" = { + identityFile = "/home/borgs/backups/borgs-private"; + }; + ouranos = { + hostname = "195.201.148.94"; + user = "root"; + }; + fusus = { + hostname = "localhost"; + user = "server"; + port = 49388; + }; + }; + }; + }; + + # automatically creates the mountpoint as well!! + fileSystems."/home/borgs/backups" = { + device = "/home/files/storage/backups/servers"; + options = [ "bind" ]; + }; + + # ouranus + systemd.services.backup-ouranos-minecraft = { + enable = true; + description = "backup the /var/minecraft folder on ouranus to fusu"; + unitConfig = { + Type = "simple"; + }; + path = with pkgs; [ socat borgbackup openssh ]; + serviceConfig = { + ExecStart = "/home/borgs/backups/ouranos-minecraft.sh"; + User = "borgs"; + Group = "borgs"; + WorkingDirectory = "/home/borgs/backups"; + }; + wants = [ "home-files-storage.mount" ]; + }; + systemd.timers.backup-ouranos-minecraft = { + wantedBy = [ "timers.target" ]; + timerConfig = { + #OnBootSec = "5m"; + #nUnitActiveSec = "1d"; + OnCalendar = "*-*-* 04:00:00"; + Persistent = "True"; + Unit = "backup-ouranos-minecraft.service"; + }; + }; + + # ouranus + systemd.services.backup-fusu-server = { + enable = true; + description = "backup the ~/server folder on fusus"; + unitConfig = { + Type = "simple"; + }; + path = with pkgs; [ socat borgbackup openssh ]; + serviceConfig = { + ExecStart = "/home/borgs/backups/fusu-server.sh"; + User = "borgs"; + Group = "borgs"; + WorkingDirectory = "/home/borgs/backups"; + }; + wants = [ "home-files-storage.mount" ]; + }; + systemd.timers.backup-fusu-server = { + wantedBy = [ "timers.target" ]; + timerConfig = { + #OnBootSec = "5m"; + #OnUnitActiveSec = "1d"; + OnCalendar = "*-*-* 04:00:00"; + Persistent = "True"; + Unit = "backup-fusu-server.service"; + }; + }; + } diff --git a/hosts/lush.nix b/hosts/lush.nix index 9eed47b..370185e 100644 --- a/hosts/lush.nix +++ b/hosts/lush.nix @@ -70,6 +70,7 @@ environment.systemPackages = with pkgs; [ + linuxPackages.usbip vim bluez git diff --git a/hosts/mac.nix b/hosts/mac.nix index 06b53cb..c9d8cc7 100644 --- a/hosts/mac.nix +++ b/hosts/mac.nix @@ -1,4 +1,4 @@ -{ secretsDir, pkgs, inputs, ... }: let +{ lib, secretsDir, pkgs, inputs, ... }: let myobs = pkgs.wrapOBS { plugins = with pkgs.obs-studio-plugins; [ @@ -17,8 +17,9 @@ in { inputs.home-manager.nixosModules.home-manager inputs.networkmanager.nixosModules.networkmanager - ../users/me/headless.nix + ../users/me/gui.nix ../users/root/default.nix + ../common/nixos-wayland.nix ]; networking.hostName = "mac"; @@ -39,12 +40,25 @@ in { 8888 # for general usage 9999 # for general usage 6000 # Xserver + 6666 # vnc sway 5900 # vnc for win VM 5901 # vnc 5902 # vnc 4400 # rdp win VM + 4401 # ssh for mandroid + 4402 # random + 4403 # random + 4404 # random + 4405 # clipboard sync ]; + networking.firewall.allowedUDPPorts = [ + 48899 # GoodWe inverter discovery + 4410 # lan-mouse + ]; + + swapDevices = [ { device = "/swapfile"; } ]; + boot.kernelModules = [ "usbip_core" ]; boot.extraModprobeConfig = "options kvm_intel nested=1"; @@ -72,6 +86,8 @@ in { }; environment.systemPackages = with pkgs; [ + linuxPackages.usbip + helvum passt mount pkgs.hicolor-icon-theme @@ -121,6 +137,64 @@ in { ''; }; + home-manager.users.me.home.file.".config/sway/config".text = '' + exec ${pkgs.wayvnc}/bin/wayvnc 0.0.0.0 6666 + #exec 'wl-paste -w ${pkgs.netcat-openbsd}/bin/nc 192.168.1.11 4405' + #exec 'sh -c "while true; do ${pkgs.netcat-openbsd}/bin/nc -l 4405 | wl-copy; done"' + #exec 'sh -c "while true; do cat ~/clipboard | wl-paste; done"' + ''; + + home-manager.users.me.programs.lan-mouse = { + enable = true; + systemd = true; + settings = { + authorized_fingerprints."f1:f2:c8:38:fd:e9:34:2f:a0:79:49:b4:ca:d6:4e:c6:31:10:42:1b:9f:ba:61:6f:41:9a:b7:ce:1a:32:47:a1" = "main"; + port = 4410; + clients = [ + { + position = "left"; + hostname = "main"; + activate_on_startup = true; + ips = [ "192.168.1.11" ]; + port = 4410; + #enter_hook = "${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.netcat-openbsd}/bin/nc 192.168.1.11 4405"; + enter_hook = "/run/current-system/sw/bin/cat /home/me/.cache/clipboard | ${pkgs.netcat-openbsd}/bin/nc 192.168.1.11 4405 -N"; + } + ]; + }; + }; + home-manager.users.me.systemd.user.services.lan-mouse.Service.Environment = "PATH=/bin"; + + users.users.me.openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGw5kYmBQl8oolNg2VUlptvvSrFSESfeuWpsXRovny0x me@phone" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPgKLRF9iYRH3Y8hPjLX1ZY6GyavruqcQ0Q0Y8bnmpv9 me@tab" + ]; + + + #services.greetd.enable = lib.mkForce false; + services.greetd = lib.mkForce { + enable = true; + settings = rec { + terminal.vt = 2; + initial_session = { + command = "${pkgs.writeScriptBin "run-sway" '' + export WLR_RENDERER_ALLOW_SOFTWARE=1 + export SDL_VIDEODRIVER=wayland + export _JAVA_AWT_WM_NONREPARENTING=1 + export QT_QPA_PLATFORM=wayland + export XDG_CURRENT_DESKTOP=sway + export XDG_SESSION_DESKTOP=sway + exec sway > /tmp/sway-log 2>&1 + ''}/bin/run-sway"; + user = "me"; + }; + default_session = initial_session; + }; + }; + + + systemd.extraConfig = "DefaultLimitNOFILE=2048"; + ###################################################### the kiosk stuff boot.plymouth.enable = true; @@ -184,21 +258,6 @@ in { networking.networkmanager.enable = true; networking.networkmanager.profiles = { - home = { - connection = { - id = "home"; - uuid = "a02273d9-ad12-395e-8372-f61129635b6f"; - type = "ethernet"; - autoconnect-priority = "-999"; - interface-name = "enp2s0"; - }; - ipv4 = { - address1 = "192.168.1.33/24,192.168.1.1"; - dns = "1.1.1.1;"; - method = "manual"; - }; - }; - pw = { connection = { id = "pw"; @@ -234,11 +293,15 @@ in { interface-name = "wlp3s0"; }; wifi = { - mac-address = "0C:96:E6:E3:64:03"; mode = "ap"; ssid = "c2vi-mac"; }; + wifi-security = { + key-mgmt = "wpa-psk"; + psk = builtins.readFile "${secretsDir}/wifi-password"; + }; + ipv4 = { method = "shared"; }; @@ -273,7 +336,7 @@ in { id = "dhcp"; uuid = "c006389a-1697-4f77-91c3-95b466f85f13"; type = "ethernet"; - autoconnect = "false"; + autoconnect = true; interface-name = "enp2s0"; }; @@ -283,6 +346,7 @@ in { ipv4 = { method = "auto"; + address1 = "192.168.1.33/24,192.168.1.1"; }; }; diff --git a/hosts/main.nix b/hosts/main.nix index db46288..1a8b5ad 100644 --- a/hosts/main.nix +++ b/hosts/main.nix @@ -36,8 +36,14 @@ #services.openssh.enable = true; + programs.fuse.userAllowOther = true; services.sunshine = { + enable = false; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + /* package = pkgs.sunshine.overrideAttrs { src = pkgs.fetchFromGitHub { @@ -73,11 +79,6 @@ fetchSubmodules = true; }; }); - enable = true; - autoStart = true; - capSysAdmin = true; - openFirewall = true; - }; @@ -88,6 +89,26 @@ + home-manager.users.me.programs.lan-mouse = { + enable = true; + settings = { + authorized_fingerprints."0d:4f:2c:8a:46:d5:6a:e2:22:c9:02:89:39:da:75:69:2d:e9:32:39:d7:dc:e6:e2:50:d6:20:22:a5:26:d4:44" = "mac"; + port = 4410; + clients = [ + { + position = "right"; + hostname = "mac"; + activate_on_startup = true; + ips = [ "192.168.1.33" ]; + port = 4410; + #enter_hook = "${pkgs.wl-clipboard}/bin/wl-paste | ${pkgs.openssh}/bin/ssh mac 'cat > ~/clipboard'"; + #enter_hook = "/run/current-system/sw/bin/echo hooooooooooo > /home/me/p1"; + enter_hook = "/run/current-system/sw/bin/cat /home/me/.cache/clipboard | /run/current-system/sw/bin/ssh mac 'cat >~/clipboard'"; + } + ]; + }; + }; + home-manager.users.me.systemd.user.services.lan-mouse.Service.Environment = "PATH=/bin"; @@ -123,9 +144,17 @@ programs.nix-ld.enable = true; programs.steam.enable = true; + home-manager.users.me.home.file.".config/sway/config".text = '' + exec ${pkgs.wayvnc}/bin/wayvnc 0.0.0.0 6666 + #exec wl-paste -w ${pkgs.netcat-openbsd}/bin/nc 192.168.1.33 4405 + #exec 'wl-paste -w ssh mac "cat > ~/clipboard"' + #exec 'sh -c "while true; do ${pkgs.netcat-openbsd}/bin/nc -l 4405 | wl-copy; done"' + ''; + ################# make firefox default browser + environment.sessionVariables.DEFAULT_BROWSER = "firefox"; # for electron apps xdg.mime.defaultApplications = { "text/html" = "firefox.desktop"; "x-scheme-handler/http" = "firefox.desktop"; @@ -223,8 +252,27 @@ # shedule nix builds with low priority, so the laptop is still usable while building something nix.daemonCPUSchedPolicy = "idle"; - nix.daemonIONiceLevel = 7; - systemd.services.nix-daemon.serviceConfig.Nice = 9; + nix.daemonIOSchedClass = "idle"; + systemd.services.nix-daemon.serviceConfig.CPUSchedulingPolicy = lib.mkForce "idle"; + systemd.services.nix-daemon.serviceConfig.IOSchedulingPriority = lib.mkForce "idle"; + systemd.services.nix-daemon.serviceConfig.CPUWeight= lib.mkForce "idle"; + /* + systemd.services.nix-daemon.serviceConfig.CPUQuota = lib.mkForce "100%"; + systemd.services.nix-daemon.environment = { + LD_PRELOAD = "${pkgs.trickle}/lib/trickle/trickle-overload.so"; + TRICKLE_WINDOW_SIZE = "200"; + TRICKLE_UPLOAD_LIMIT = "10"; + TRICKLE_LSMOOTH = "20"; + TRICKLE_VERBOSE = "0"; + TRICKLE_SOCKNAME = ""; + TRICKLE_ARGV = "alacritty"; + TRICKLE_TSMOOTH = "3.0"; + TRICKLE_DOWNLOAD_LIMIT = "30"; + }; + nix.extraOptions = '' + download-speed = 30 + ''; + */ # enable ntp #services.ntp.enable = true; @@ -360,6 +408,7 @@ 51820 # wireguard 6000 # Xserver 10000 # tailscale tcp funnel + 4405 # clipboard sync with imac ]; networking.firewall.allowedUDPPorts = [ @@ -367,6 +416,8 @@ 51820 # wireguard 67 # allow DHCP traffic 53 # allow dns + 48899 # GoodWe inverter discovery + 4410 # lan-mouse ]; #networking.search = [ "c2vi.local" ]; @@ -544,6 +595,7 @@ }; ipv4 = { + address1 = "192.168.1.11/24,192.168.1.1"; method = "auto"; }; }; diff --git a/misc/my-hosts b/misc/my-hosts index 1adf5f5..55d41c2 100644 --- a/misc/my-hosts +++ b/misc/my-hosts @@ -1,7 +1,5 @@ -127.0.0.1 youtube.com -127.0.0.1 www.youtube.com 192.168.122.194 uwu 192.168.122.126 lako 127.0.0.1 localhost 100.70.54.18 obsidian.c2vi.dev -192.168.1.2 mc.c2vi.dev +192.168.1.2 mc.ppc.social diff --git a/misc/my-hosts-h b/misc/my-hosts-h index 3b44d6c..07ef3df 100644 --- a/misc/my-hosts-h +++ b/misc/my-hosts-h @@ -7,4 +7,4 @@ 192.168.1.1 router 192.168.1.33 mac 192.168.1.36 mosatop -192.168.1.37 lush +192.168.1.44 lush diff --git a/mybin/htldoc b/mybin/htldoc index 794028b..9c2508e 100755 --- a/mybin/htldoc +++ b/mybin/htldoc @@ -1,10 +1,17 @@ #!/bin/sh +NIX_EXTRA_FEATURE_ARGS="--extra-experimental-features nix-command --extra-experimental-features flakes" + +## check if nix is found in the PATH +command -V nix || ( echo '"nix" is required for htldoc, but was not found in your PATH.'; echo "nix install instructions: https://nixos.org/download/"; exit 1) + if [ -f "htldoc.nix" ]; then - htldocUrl=$(nix eval --expr 'let config = (import ./htldoc.nix {}); in if builtins.hasAttr "htldocVersion" config then config.htldocVersion else "github:c2vi/htldoc/master"' --impure --raw) - echo htldocUrl: $htldocUrl - nix run $htldocUrl -- $@ + htldocUrl=$(nix $NIX_EXTRA_FEATURE_ARGS eval --expr 'let config = (import ./htldoc.nix {}); in if builtins.hasAttr "htldocVersion" config then config.htldocVersion else "github:c2vi/htldoc/master"' --impure --raw) + echo running htldoc version: $htldocUrl >&2 + exec nix $NIX_EXTRA_FEATURE_ARGS run $htldocUrl -- $@ + + else - nix run github:c2vi/htldoc/master -- $@ + exec nix $NIX_EXTRA_FEATURE_ARGS run github:c2vi/htldoc/master -- $@ fi diff --git a/programs/bash.nix b/programs/bash.nix index ea3603c..7a4e179 100644 --- a/programs/bash.nix +++ b/programs/bash.nix @@ -42,6 +42,10 @@ }; shellAliases = { + md="~/work/modules/modules/dev/run"; + mize="~/work/mize/mize"; + m="~/work/mize/mize"; + ports = "${pkgs.lsof}/bin/lsof -i -P -n"; losetup = "${pkgs.util-linux}/bin/losetup"; u = "sudo umount ~/mnt"; @@ -84,6 +88,9 @@ ''; }; + profileExtra = '' + ''; + bashrcExtra = '' export PATH=${self}/mybin:$PATH export TERM="xterm-color" @@ -91,7 +98,7 @@ export NIX_PATH=nixpkgs=${self.inputs.nixpkgs.outPath} export NIXPKGS_ALLOW_UNFREE=1 - # the commit hash of nixpkgs 23.11 + # the commit hash of the nixpkgs revs i use export nip="nixpkgs/${self.inputs.nixpkgs.rev}" export nup="nixpkgs/${self.inputs.nixpkgs-unstable.rev}" @@ -121,6 +128,10 @@ } + function vic() { + source ~/work/victorinix/vic + } + @@ -148,6 +159,7 @@ complete -W "mosatop acern" rp + # function to create a tmpdir, to use for some temporary work.... # made this, to not just keep cluttering my $HOME... with all kinds of projects function mt () { @@ -159,7 +171,6 @@ - # so that programms i spawn from my shell don't have so high cpu priority [ which renice 2>/dev/null ] && renice -n 9 $$ > /dev/null diff --git a/programs/ssh.nix b/programs/ssh.nix index 6700ddf..dbb267f 100644 --- a/programs/ssh.nix +++ b/programs/ssh.nix @@ -88,6 +88,11 @@ hostname = "152.67.70.13"; user = "ubuntu"; }; + mandroid = { + hostname = "mac"; + user = "u0_a77"; + port = 4401; + }; ocib = { hostname = "140.238.213.48"; user = "ubuntu"; @@ -107,6 +112,7 @@ }; }; + /* home.file.".ssh/known_hosts".force = true; home.file.".ssh/known_hosts".text = '' hpm ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ+FpaNOf+ao6RCa6e43vAHFcQZTGu45rIqAG3Vx0/M8 @@ -124,4 +130,5 @@ [tab]:8022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBPVAyWNCCzQSOzeYibuXNPExD7YKcNczvJfc44a3zeo [tab]:8022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDdwFZf3IRa4YZyrNseofTRIDbkmdMiIXa3Gxs7wFzZN+ICwXeipfqV1Lh9C1sI4YnRIqfZlCSU+SE2dqVoQB6Uj64cdLrdslHYvgsR9PY3vVtrYypGfE1XTkLvD516x4mFofo22A9j8fK95fcMwpWLtNnv9SVBIT3V+4fUlbRCngdJ1V2cOd41JIwBrIxmRJ6X5v/SEqajmnVneqEmsqGgGA7JBJBCMSz5wwmZzWrTpzwj4SAD5b1z/R12DZfFHmgJCZYcMbjDgUiD5khsOwCCflH8DtO41PkOZRqDlpPPT9al7qhhESwxE6w5gIvaVh6HJljSCNw9OCQWONotv3gF9tVs6sZXsWxRZ2R0oIeA3rnM+mZxEtxElc2MKLVlsQ9SM2Xcr3J4Y43cWm7m03cDOz+iZecxs2qKAgn5Au72fudapDAtiCuYjKlMGEgbWX3CmxL0n/Uo32yfTRXnEHWMzXezmdGsuHUzk/sHTL8z5RVyzIBNl2HGlhldFbATuwRxXyBW9JIuEll+rW9Jm0MvpT3KoD/Q5aXDVH+21l6SSNBcjvZu00WNiYDD+gFR4BlewobtacGNOR4ErjxVZ10d8p6S5smadmo/RmbjhrVJK8EzigJPsVxEEjtuVq+jAQCvLTZCpEyDF/cBv60vIu4CyZkoAq1UaL64m7nIhR/8Yw== ''; + */ } diff --git a/random-pkgs.nix b/random-pkgs.nix index 0cb80dc..41d816e 100644 --- a/random-pkgs.nix +++ b/random-pkgs.nix @@ -7,6 +7,10 @@ lib = pkgs.lib; in rec { + runc = pkgs.runc.overrideAttrs ({ + src = /home/me/work/config/gitignore/runc; + }); + qtrs = pkgs.stdenv.mkDerivation { name = "qt rust bindings";