{ config, pkgs, self, workDir, inputs, persistentDir, system, ... }: { imports = [ ../common/home.nix ../../programs/ssh.nix # my gui programs ../../programs/alacritty.nix # stalls the build #../../programs/emacs/default.nix ../../programs/rofi/default.nix ../../programs/zathura.nix ../../programs/firefox/default.nix inputs.lan-mouse.homeManagerModules.default ]; programs.lan-mouse.systemd = true; gtk.cursorTheme = { name = "Yaru"; }; gtk = { enable = true; gtk3.extraConfig = { # needed for Prusa Slicer for example "gtk-application-prefer-dark-theme" = 1; }; gtk4.extraConfig = { "gtk-application-prefer-dark-theme" = 1; }; }; dconf.settings = { "org/virt-manager/virt-manager/connections" = { autoconnect = [ "qemu:///system" "qemu+ssh://me@mac/system" ]; uris = [ "qemu:///system" "qemu+ssh://me@mac/system" ]; }; }; home.sessionVariables = { inherit system; VIC_BINARY = "/home/me/work/victorinix/vic"; }; services.dunst.enable = true; home.file = { #".mozilla/firefox".source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/firefox"; ".cache/rofi-3.runcache".source = config.lib.file.mkOutOfStoreSymlink "${persistentDir}/rofi-run-cache"; ".local/share/PrismLauncher/".source = config.lib.file.mkOutOfStoreSymlink "${workDir}/app-data/prism-launcher"; ".local/share/DaVinciResolve/".source = config.lib.file.mkOutOfStoreSymlink "${workDir}/app-data/DaVinciResolve"; ".local/share/JetBrains/IdeaIC2024.3".source = config.lib.file.mkOutOfStoreSymlink "${workDir}/app-data/IdeaIC2024.3"; }; home.packages = with pkgs; [ btrfs-progs # packages that i might not need everywhere?? #wstunnel rclone playerctl alsa-utils usbutils android-tools android-studio moonlight-qt pciutils jmtpfs pmutils cntr nil sshfs # gui packages obsidian eog xorg.xkbcomp haskellPackages.xmonad-extras haskellPackages.xmonad-contrib xorg.xev blueman pavucontrol spotify networkmanagerapplet haskellPackages.xmobar kdePackages.dolphin mupdf xclip stalonetray killall vlc chromium # use signal from unstable, because the app itself says it would to update to be usable self.inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.signal-desktop self.inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.ticktick element-desktop discord wireshark gparted xorg.xkill xorg.xmodmap inkscape kazam onlyoffice-bin # my own packages supabase-cli # base-devel gcc # rust cargo rust-analyzer rustc #localPacketTracer8 #(ciscoPacketTracer8.overrideAttrs (prev: final: { #src = /home/me/work/software/CiscoPacketTracer_821_Ubuntu_64bit.deb; #})) #ciscoPacketTracer8 # virtualisation qemu libvirt virt-manager freerdp #(pkgs.writeShellApplication { #name = "log"; #runtimeInputs = [ inputs.my-log.packages.${system}.pythonForLog ]; #text = "cd /home/me/work/log/new; nix develop -c 'python ${workDir}/log/new/client.py'"; #text = ''${inputs.my-log.packages.${system}.pythonForLog}/bin/python ${workDir}/log/new/client.py "$@"''; #}) (pkgs.writeShellApplication { name = "rpi"; text = let myPythonRpi = pkgs.writers.writePython3Bin "myPythonRpi" { libraries = [pkgs.python3Packages.dnspython]; } '' # flake8: noqa import os import re import sys import subprocess import dns.resolver import socket, struct def get_default_gateway_linux(): """Read the default gateway directly from /proc.""" with open("/proc/net/route") as fh: for line in fh: fields = line.strip().split() if fields[1] != '00000000' or not int(fields[3], 16) & 2: # If not default route or not RTF_GATEWAY, skip it continue if fields[0] != "wlo1": # only check on wlan interface continue return socket.inet_ntoa(struct.pack("