diff --git a/unorganized/machines/vm-audio.nix b/unorganized/machines/vm-audio.nix
deleted file mode 100644
index d2b2d36..0000000
--- a/unorganized/machines/vm-audio.nix
+++ /dev/null
@@ -1,244 +0,0 @@
-{
- lib,
- pkgs,
- config,
- ...
-}:
-
-{
- imports = [
- # Import environment
- ./vm-base.nix
- ];
-
- config = {
- # Machine hostname
- networking.hostName = "vm-audio";
-
- # Enabled modules
- modules = {
- pipewire.enable = true;
- spotifyd.enable = true;
- };
-
- # Install system packages
- environment.systemPackages = with pkgs; [
- carla
- xpra
- alsa-utils
- pulsemixer
- adwaita-icon-theme
- open-stage-control
- carla_osc_bridge
-
- # Add LV2 plugins
- lsp-plugins
- airwindows-lv2
- distrho-ports
- cardinal
- calf
- ];
-
- # Setup firewall
- networking.firewall = {
- allowedTCPPorts = [
- 8080
- 10402
- 15151
- 22752
- ];
- allowedUDPPorts = [
- 8080
- 10402
- 15151
- 22752
- ];
- };
-
- # Setup dependencies
- environment.variables.LD_LIBRARY_PATH = lib.mkForce "${lib.makeLibraryPath (
- with pkgs;
- [
- cairo
- pipewire.jack
- ]
- )}";
- qt = {
- enable = true;
- style = "adwaita";
- };
- xdg.icons = {
- enable = true;
- fallbackCursorThemes = [ "Adwaita" ];
- };
- hardware.graphics.enable = true;
-
- # User for audio mixing
- users.users.mixer = {
- isNormalUser = true;
- group = "mixer";
- extraGroups = [ "systemd-journal" ];
- openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKKxoQSxfYqf9ITN8Fhckk8WbY4dwtBAXOhC9jxihJvq jan@bulthuis.dev"
- ];
- };
- users.groups.mixer = { };
- users.groups.audio = {
- members = [
- "mixer"
- ];
- };
- users.groups.bluetooth = {
- members = [
- "mixer"
- ];
- };
-
- # Xpra service
- systemd.user.services.xpra = {
- description = "Xpra Service";
- wantedBy = [ "default.target" ];
- after = [
- "network.target"
- ];
- unitConfig = {
- ConditionUser = "mixer";
- };
- serviceConfig = {
- ExecStart = "${pkgs.xpra}/bin/xpra start :7 --bind-tcp=0.0.0.0:15151 --daemon=no";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- # Carla service
- systemd.user.services.carla = {
- description = "Carla Service";
- wantedBy = [ "default.target" ];
- after = [
- "network.target"
- "sound.target"
- ];
- requires = [
- "xpra.service"
- ];
- unitConfig = {
- ConditionUser = "mixer";
- };
- serviceConfig = {
- ExecStart = "${pkgs.carla}/bin/carla /home/mixer/Default.carxp -platform xcb";
- Environment = "\"DISPLAY=:7\"";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- # Carla service
- systemd.user.services.carla-bridge = {
- description = "Carla OSC Bridge";
- wantedBy = [ "default.target" ];
- after = [
- "network.target"
- "sound.target"
- ];
- requires = [
- "carla.service"
- ];
- unitConfig = {
- ConditionUser = "mixer";
- };
- serviceConfig = {
- ExecStart = "${pkgs.carla_osc_bridge}/bin/carla_osc_bridge --clients \"127.0.0.1:8080\"";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- # Open stage control service
- systemd.user.services.osc = {
- description = "OSC Service";
- wantedBy = [ "default.target" ];
- after = [
- "network.target"
- ];
- requires = [
- "carla.service"
- ];
- unitConfig = {
- ConditionUser = "mixer";
- };
- serviceConfig = {
- ExecStart = "${pkgs.open-stage-control}/bin/open-stage-control --no-gui --send 127.0.0.1:10402 --load /home/mixer/open-stage-control/session.json --theme /home/mixer/open-stage-control/theme.css";
- Environment = "\"ELECTRON_RUN_AS_NODE=1\"";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- # Create bluetooth A2DP source
- hardware.bluetooth = {
- enable = true;
- disabledPlugins = [ "hostname" ];
- settings.General = {
- Name = "Linox";
- Class = "0x240414";
- DiscoverableTimeout = 0;
- AlwaysPairable = true;
- PairableTimeout = 0;
- FastConnectable = true;
- JustWorksRepairing = "always";
- };
- };
- services.pipewire.wireplumber.extraConfig."50-bluetooth-a2dp" = {
- "monitor.bluez.properties" = {
- "bluez5.roles" = [ "a2dp_source" ];
- };
- };
-
- # Create null sinks
- services.pipewire.extraConfig.pipewire."91-null-sinks" = {
- "context.objects" = [
- {
- factory = "adapter";
- args = {
- "factory.name" = "support.null-audio-sink";
- "node.name" = "Speaker-Proxy";
- "node.description" = "Proxy for Speaker Output";
- "media.class" = "Audio/Sink";
- "audio.position" = "L,R";
- };
- }
- {
- factory = "adapter";
- args = {
- "factory.name" = "support.null-audio-sink";
- "node.name" = "Headphone-Proxy";
- "node.description" = "Proxy for Headphone Output";
- "media.class" = "Audio/Sink";
- "audio.position" = "L,R";
- };
- }
- {
- factory = "adapter";
- args = {
- "factory.name" = "support.null-audio-sink";
- "node.name" = "SpotifyD-Proxy";
- "node.description" = "Proxy for SpotifyD";
- "media.class" = "Audio/Sink";
- "audio.position" = "L,R";
- };
- }
- {
- factory = "adapter";
- args = {
- "factory.name" = "support.null-audio-sink";
- "node.name" = "AnalogIn-Proxy";
- "node.description" = "Proxy for the analog input";
- "media.class" = "Audio/Source/Virtual";
- "audio.position" = "L,R";
- };
- }
- ];
- };
- };
-}
diff --git a/unorganized/machines/vm-base.nix b/unorganized/machines/vm-base.nix
deleted file mode 100644
index a874d54..0000000
--- a/unorganized/machines/vm-base.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, ... }:
-
-{
- imports = [
- # Import environment
- ../default.nix
- ];
-
- config = {
- # State version
- system.stateVersion = "24.11";
-
- # Machine hostname
- networking.hostName = lib.mkDefault "vm-base";
-
- # Enabled modules
- modules = {
- base.enable = true;
- ssh.enable = true;
- };
-
- # Enable qemu guest agent
- services.qemuGuest.enable = true;
-
- # Hardware configuration
- hardware.enableRedistributableFirmware = true;
- boot.initrd.availableKernelModules = [
- "ata_piix"
- "uhci_hcd"
- "virtio_pci"
- "virtio_scsi"
- "sd_mod"
- "sr_mod"
- ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
- hardware.cpu.intel.updateMicrocode = true;
-
- # Filesystems
- fileSystems."/" = {
- device = "/dev/disk/by-partlabel/root";
- fsType = "ext4";
- };
-
- fileSystems."/boot" = {
- device = "/dev/disk/by-partlabel/EFI";
- fsType = "vfat";
- options = [
- "fmask=0077"
- "dmask=0077"
- ];
- };
-
- # Swapfile
- swapDevices = [
- {
- device = "/var/lib/swapfile";
- size = 6 * 1024;
- }
- ];
- };
-}
diff --git a/unorganized/modules/base/default.nix b/unorganized/modules/base/default.nix
deleted file mode 100644
index 3ce0ef3..0000000
--- a/unorganized/modules/base/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.base;
-in
-{
- options.modules.base = {
- enable = mkEnableOption "base";
- };
-
- config = mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- # Add base linux utilities
- git
- wget
- curl
- dig
- procps
- wireguard-tools
- usbutils
- pciutils
- zip
- unzip
- ];
-
- modules = {
- # Enable base modules
- clean-tmp.enable = true;
- neovim.enable = true;
- systemd-boot.enable = true;
- };
-
- # TODO: Remove everything below, it is here out of convenience and should be elsewhere
- # networking.nameservers = [
- # "9.9.9.9"
- # "149.112.112.112"
- # ];
- # programs.captive-browser.enable = true;
- services.resolved = {
- enable = true;
- };
- networking.firewall.enable = true;
- modules.unfree.enable = true;
- nix.settings.experimental-features = "nix-command flakes";
- nixpkgs.hostPlatform = "x86_64-linux";
-
- console.packages = [
- pkgs.dina-psfu
- ];
- console.font = "dina";
- console.earlySetup = true;
- boot.loader.timeout = 0;
- };
-}
diff --git a/unorganized/modules/base/desktop.nix b/unorganized/modules/base/desktop.nix
deleted file mode 100644
index 5dc2557..0000000
--- a/unorganized/modules/base/desktop.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.base.desktop;
-in
-{
- options.modules.base.desktop = {
- enable = mkEnableOption "desktop";
- };
-
- config = mkIf cfg.enable {
- environment.systemPackages = with pkgs; [
- # TODO: MOVE
- quickemu # TODO: Reenable once building this is fixed
- pdftk
-
- # TODO: Move to USB module
- # usbutils
- # udiskie
- # udisks
- brightnessctl
-
- wireshark
- ];
-
- # Move to Realm module
- security.krb5 = {
- enable = true;
- settings = {
- libdefaults = {
- rdns = false;
- };
- realms = {
- "GEWISWG.GEWIS.NL" = {
- kdc = [
- "https://gewisvdesktop.gewis.nl/KdcProxy"
- ];
- };
- };
- };
- };
-
- modules = {
- # Enable base modules
- base.enable = true;
- fontconfig.enable = true;
- nixgreety.enable = true;
- pipewire.enable = true;
- graphics.enable = true;
- };
-
- programs.dconf.enable = true;
- services.libinput.enable = true;
- networking.firewall = {
- enable = true;
- logRefusedConnections = true;
- logRefusedPackets = true;
- logReversePathDrops = true;
- logRefusedUnicastsOnly = false;
- };
- programs.wireshark.enable = true;
- machine.sudo-groups = [ "wireshark" ];
- services.upower.enable = true; # For battery percentage in gnome
- modules.unfree.allowedPackages = [
- "nvidia-x11"
- "nvidia-settings"
- ];
- networking.firewall.allowedTCPPortRanges = [
- {
- from = 10000;
- to = 11000;
- }
- ];
- networking.firewall.allowedUDPPortRanges = [
- {
- from = 10000;
- to = 11000;
- }
- ];
- security.rtkit.enable = true;
- security.polkit.enable = true;
-
- # TODO: Move to USB module
- # services.gvfs.enable = true;
- services.udisks2.enable = true;
- };
-}
diff --git a/unorganized/modules/bluetooth/default.nix b/unorganized/modules/bluetooth/default.nix
deleted file mode 100644
index a210ae0..0000000
--- a/unorganized/modules/bluetooth/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.bluetooth;
-in
-{
- options.modules.bluetooth = {
- enable = mkEnableOption "bluetooth";
- };
-
- config = mkIf cfg.enable {
- environment.systemPackages = with pkgs; [ bluez ];
-
- hardware.bluetooth.enable = true;
- hardware.bluetooth.powerOnBoot = true;
- };
-}
diff --git a/unorganized/modules/boot/clean-tmp.nix b/unorganized/modules/boot/clean-tmp.nix
deleted file mode 100644
index ac63245..0000000
--- a/unorganized/modules/boot/clean-tmp.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.clean-tmp;
-in
-{
- options.modules.clean-tmp = {
- enable = mkEnableOption "clean-tmp";
- };
-
- config = mkIf cfg.enable { boot.tmp.cleanOnBoot = true; };
-}
diff --git a/unorganized/modules/boot/silent-boot.nix b/unorganized/modules/boot/silent-boot.nix
deleted file mode 100644
index f57f385..0000000
--- a/unorganized/modules/boot/silent-boot.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.silent-boot;
-in
-{
- options.modules.silent-boot = {
- enable = mkEnableOption "silent-boot";
- };
-
- config = mkIf cfg.enable {
- boot = {
- loader.timeout = 0;
-
- consoleLogLevel = 0;
- initrd.verbose = false;
- initrd.checkJournalingFS = false;
-
- kernelParams = [
- "quiet"
- "boot.shell_on_fail"
- "loglevel=3"
- "rd.systemd.show_status=false"
- "rd.udev.log_level=3"
- "udev.log_priority=3"
- "video=efifb:nobgrt"
- "bgrt_disable"
- ];
- };
- };
-}
diff --git a/unorganized/modules/boot/systemd-boot.nix b/unorganized/modules/boot/systemd-boot.nix
deleted file mode 100644
index 9f17007..0000000
--- a/unorganized/modules/boot/systemd-boot.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.systemd-boot;
-in
-{
- options.modules.systemd-boot = {
- enable = mkEnableOption "systemd-boot";
- };
-
- config = mkIf cfg.enable {
- boot.loader = {
- systemd-boot.enable = true;
- systemd-boot.editor = false;
- efi.canTouchEfiVariables = true;
- };
- };
-}
diff --git a/unorganized/modules/brightnessctl/default.nix b/unorganized/modules/brightnessctl/default.nix
deleted file mode 100644
index 53c9da2..0000000
--- a/unorganized/modules/brightnessctl/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.brightnessctl;
-in
-{
- options.modules.brightnessctl = {
- enable = mkEnableOption "brightnessctl";
- };
-
- config = mkIf cfg.enable { environment.systemPackages = [ pkgs.brightnessctl ]; };
-}
diff --git a/unorganized/modules/default.nix b/unorganized/modules/default.nix
deleted file mode 100644
index 5d27502..0000000
--- a/unorganized/modules/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-{
- imports = [
- # Import modules
- ./base/default.nix
- ./base/desktop.nix
- ./bluetooth/default.nix
- ./boot/clean-tmp.nix
- ./boot/silent-boot.nix
- ./boot/systemd-boot.nix
- ./brightnessctl/default.nix
- ./fontconfig/default.nix
- ./graphics/default.nix
- ./grdp/default.nix
- ./greeter/greetd/default.nix
- ./greeter/greetd/nixgreety.nix
- ./greeter/greetd/tuigreet.nix
- ./greeter/ly/default.nix
- ./locale/default.nix
- ./neovim/default.nix
- ./networkmanager/default.nix
- ./power-saving/default.nix
- ./printing/default.nix
- ./sound/pipewire.nix
- ./spotifyd/default.nix
- ./ssh/default.nix
- ./users/default.nix
- ./unfree/default.nix
- ./vpn/tailscale.nix
- ./wifi/wpa_supplicant.nix
- ];
-}
diff --git a/unorganized/modules/fontconfig/default.nix b/unorganized/modules/fontconfig/default.nix
deleted file mode 100644
index 3fc9863..0000000
--- a/unorganized/modules/fontconfig/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.fontconfig;
-in
-{
- options.modules.fontconfig = {
- enable = mkEnableOption "fontconfig";
- };
-
- config = {
- fonts.fontconfig.enable = cfg.enable;
- fonts.enableDefaultPackages = false;
- fonts.fontconfig.defaultFonts = {
- serif = mkDefault [ ];
- sansSerif = mkDefault [ ];
- monospace = mkDefault [ ];
- emoji = mkDefault [ ];
- };
- };
-}
diff --git a/unorganized/modules/graphics/default.nix b/unorganized/modules/graphics/default.nix
deleted file mode 100644
index 42e8265..0000000
--- a/unorganized/modules/graphics/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.fontconfig;
-in
-{
- options.modules.graphics = {
- enable = mkEnableOption "graphics";
- };
- config = mkIf cfg.enable {
- # TODO: Modularize further, especially modesetting should be its own module.
- # Set up graphics
- hardware.graphics.enable32Bit = true;
- hardware.graphics.enable = true;
- services.xserver.videoDrivers = [ "nvidia" ];
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = false;
- powerManagement.finegrained = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.beta;
- prime = {
- intelBusId = "PCI:0:2:0";
- nvidiaBusId = "PCI:1:0:0";
- offload = {
- enable = true;
- enableOffloadCmd = true;
- };
- };
- };
- };
-}
diff --git a/unorganized/modules/grdp/default.nix b/unorganized/modules/grdp/default.nix
deleted file mode 100644
index bb89142..0000000
--- a/unorganized/modules/grdp/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-{
- options.modules.grdp = {
- enable = mkEnableOption "grdp";
- };
-
- config = mkIf config.modules.grdp.enable {
- services.gnome.gnome-remote-desktop.enable = true;
- environment.systemPackages = with pkgs; [
- gnome-remote-desktop
- gnome-control-center
- gnome-session
- gnome-shell
- gnome-settings-daemon
- gdm
- ];
- systemd.services."gnome-remote-desktop".wantedBy = [ "graphical.target" ];
- networking.firewall = {
- allowedTCPPorts = [ 3389 ];
- allowedUDPPorts = [ 3389 ];
- };
- services.xserver.displayManager.gdm.enable = true;
- modules.greetd.enable = mkForce false;
-
- # security.polkit.extraConfig = ''
- # polkit.addRule(function(action, subject) {
- # if (action.id == "org.gnome.controlcenter.remote-session-helper" &&
- # subject.isInGroup("wheel")) {
- # return polkit.Result.YES;
- # }
- # });'';
- # programs.dconf.profiles.user.databases = [
- # {
- # settings = with lib.gvariant; {
- # "org/gnome/desktop/remote-desktop/rdp" = {
- # enable = true;
- # view-only = false;
- # };
- # };
- # }
- # ];
- };
-}
diff --git a/unorganized/modules/greeter/greetd/default.nix b/unorganized/modules/greeter/greetd/default.nix
deleted file mode 100644
index 0cbfc0c..0000000
--- a/unorganized/modules/greeter/greetd/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.greetd;
-in
-{
- options.modules.greetd = {
- enable = mkEnableOption "greetd";
- command = mkOption {
- type = types.str;
- default = "";
- description = "Command to run to show greeter.";
- };
- };
-
- config = mkIf cfg.enable {
- services.greetd = {
- enable = true;
- settings.default_session = {
- command = cfg.command;
- user = mkDefault "greeter";
- };
- };
- };
-}
diff --git a/unorganized/modules/greeter/greetd/nixgreety.nix b/unorganized/modules/greeter/greetd/nixgreety.nix
deleted file mode 100644
index 1f4b2d0..0000000
--- a/unorganized/modules/greeter/greetd/nixgreety.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.nixgreety;
-in
-{
- options.modules.nixgreety = {
- enable = mkEnableOption "nixgreety";
- };
-
- config = mkIf cfg.enable {
- # Enable greetd
- modules.greetd = {
- enable = true;
- command = "${pkgs.nixgreety}/bin/nixgreety";
- };
-
- services.greetd.settings.default_session.user = "root";
-
- environment.systemPackages = with pkgs; [
- nixgreety
- ];
- };
-}
diff --git a/unorganized/modules/greeter/greetd/tuigreet.nix b/unorganized/modules/greeter/greetd/tuigreet.nix
deleted file mode 100644
index a0e10e6..0000000
--- a/unorganized/modules/greeter/greetd/tuigreet.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.tuigreet;
-in
-{
- options.modules.tuigreet = {
- enable = mkEnableOption "tuigreet";
- greeting = mkOption {
- type = types.str;
- default = "Hewwo! >_< :3";
- description = "Greeting message to show.";
- };
- command = mkOption {
- type = types.str;
- default = "~/.initrc";
- description = "Command to run after logging in.";
- };
- };
-
- config = mkIf cfg.enable {
- # Enable greetd
- modules.greetd = {
- enable = true;
- command = "${pkgs.greetd.tuigreet}/bin/tuigreet --remember --greeting \"${cfg.greeting}\" --time --cmd \"${cfg.command}\" --asterisks";
- };
-
- # Enable silent boot to prevent late log messages from messing up tuigreet
- modules.silent-boot.enable = true;
- };
-}
diff --git a/unorganized/modules/greeter/ly/default.nix b/unorganized/modules/greeter/ly/default.nix
deleted file mode 100644
index fee5b8d..0000000
--- a/unorganized/modules/greeter/ly/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.ly;
-in
-{
- options.modules.ly = {
- enable = mkEnableOption "ly";
- };
-
- config = mkIf cfg.enable {
- services.displayManager.ly = {
- enable = true;
- settings = {
- animation = "matrix";
- animation_refresh_ms = 32;
- box_title = "Hewwo! >_< :3";
- clear_password = true;
- load = true;
- save = true;
- xinitrc = "null";
- };
- };
- };
-}
diff --git a/unorganized/modules/locale/default.nix b/unorganized/modules/locale/default.nix
deleted file mode 100644
index 29895a1..0000000
--- a/unorganized/modules/locale/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-{
- config = {
- time.timeZone = "Europe/Amsterdam";
- i18n.defaultLocale = "en_US.UTF-8";
- console.keyMap = "us";
- };
-}
diff --git a/unorganized/modules/neovim/default.nix b/unorganized/modules/neovim/default.nix
deleted file mode 100644
index ab507f6..0000000
--- a/unorganized/modules/neovim/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.neovim;
-in
-{
- options.modules.neovim = {
- enable = mkEnableOption "neovim";
- };
-
- config = mkIf cfg.enable {
- programs.neovim = {
- enable = true;
- defaultEditor = true;
- };
- };
-}
diff --git a/unorganized/modules/networkmanager/default.nix b/unorganized/modules/networkmanager/default.nix
deleted file mode 100644
index 4d3eaff..0000000
--- a/unorganized/modules/networkmanager/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.networkmanager;
-in
-{
- options.modules.networkmanager = {
- enable = mkEnableOption "networkmanager";
- };
-
- config = mkIf cfg.enable {
- machine.sudo-groups = [ "networkmanager" ];
- networking = {
- networkmanager = {
- enable = true;
- wifi.powersave = true;
- };
- firewall = {
- # Fix for wireguard
- checkReversePath = false;
- };
- };
- };
-}
diff --git a/unorganized/modules/power-saving/default.nix b/unorganized/modules/power-saving/default.nix
deleted file mode 100644
index 22372c6..0000000
--- a/unorganized/modules/power-saving/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.power-saving;
-in
-{
- options.modules.power-saving = {
- enable = mkEnableOption "power-saving";
- };
-
- config = mkIf cfg.enable {
- powerManagement.enable = true;
- services.thermald.enable = true;
- services.tlp = {
- enable = true;
-
- settings = {
- CPU_SCALING_GOVERNOR_ON_AC = "performance";
- CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
-
- CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
- CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
-
- CPU_MIN_PERF_ON_AC = 0;
- CPU_MAX_PERF_ON_AC = 100;
- CPU_MIN_PERF_ON_BAT = 0;
- CPU_MAX_PERF_ON_BAT = 20;
- };
- };
- };
-}
diff --git a/unorganized/modules/printing/default.nix b/unorganized/modules/printing/default.nix
deleted file mode 100644
index 97dcb71..0000000
--- a/unorganized/modules/printing/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.printing;
-in
-{
- options.modules.printing = {
- enable = mkEnableOption "printing";
- };
-
- config = mkIf cfg.enable {
- services.printing = {
- enable = true;
- # drivers = with pkgs; [];
- };
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
- };
-}
diff --git a/unorganized/modules/sound/pipewire.nix b/unorganized/modules/sound/pipewire.nix
deleted file mode 100644
index d13569e..0000000
--- a/unorganized/modules/sound/pipewire.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.pipewire;
-in
-{
- options.modules.pipewire = {
- enable = mkEnableOption "pipewire";
- };
-
- config = mkIf cfg.enable {
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
- jack.enable = true;
- };
- };
-}
diff --git a/unorganized/modules/spotifyd/default.nix b/unorganized/modules/spotifyd/default.nix
deleted file mode 100644
index 83e9719..0000000
--- a/unorganized/modules/spotifyd/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.spotifyd;
-in
-{
- options.modules.spotifyd = {
- enable = mkEnableOption "spotifyd";
- };
-
- config = mkIf cfg.enable {
- # User for spotifyd
- users.users.mixer = {
- group = "mixer";
- };
- users.groups.mixer = { };
-
- # Spotifyd service
- systemd.user.services.spotifyd = {
- description = "SpotifyD Service";
- wantedBy = [ "default.target" ];
- after = [
- "network.target"
- "sound.target"
- ];
- unitConfig = {
- ConditionUser = "mixer"; # TODO: Allow user configuration
- };
- serviceConfig = {
- ExecStart = "${pkgs.spotifyd}/bin/spotifyd --no-daemon --config-path /etc/spotifyd/spotifyd.conf";
- Restart = "always";
- RestartSec = 5;
- };
- };
-
- # Set up config
- environment.etc = {
- "spotifyd/spotifyd.conf" = {
- source = ./spotifyd.conf;
- mode = "0444";
- user = "mixer"; # TODO: Make user configurable
- group = "mixer";
- };
- };
-
- # Set up firewall
- networking.firewall = {
- allowedTCPPorts = [
- 5353
- 5454
- ];
- allowedUDPPorts = [
- 5353
- 5454
- ];
- };
- };
-}
diff --git a/unorganized/modules/spotifyd/spotifyd.conf b/unorganized/modules/spotifyd/spotifyd.conf
deleted file mode 100644
index 0bdc52f..0000000
--- a/unorganized/modules/spotifyd/spotifyd.conf
+++ /dev/null
@@ -1,118 +0,0 @@
-[global]
-
-#---------#
-# GENERAL #
-#---------#
-
-# The name that gets displayed under the connect tab on
-# official clients.
-device_name = "Linox"
-
-# The displayed device type in Spotify clients.
-# Can be unknown, computer, tablet, smartphone, speaker, t_v,
-# a_v_r (Audio/Video Receiver), s_t_b (Set-Top Box), and audio_dongle.
-device_type = "a_v_r"
-
-# The directory used to store credentials and audio cache.
-# Default: infers a sensible cache directory (e.g. on Linux: $XDG_CACHE_HOME)
-#
-# Note: The file path does not get expanded. Environment variables and
-# shell placeholders like $HOME or ~ don't work!
-#cache_path = "/full/path/to/cache/directory"
-
-# If set to true, audio data does NOT get cached.
-# In this case, the cache is only used for credentials.
-#no_audio_cache = true
-
-# The maximal size of the cache directory in bytes
-# The example value corresponds to ~ 1GB
-#max_cache_size = 1000000000
-
-# If set to true, `spotifyd` tries to bind to dbus (default is the session bus)
-# and expose MPRIS controls. When running headless, without the session bus,
-# you should set this to false, to avoid errors. If you still want to use MPRIS,
-# have a look at the `dbus_type` option.
-use_mpris = false
-
-# The bus to bind to with the MPRIS interface.
-# Possible values: "session", "system"
-# The system bus can be used if no graphical session is available
-# (e.g. on headless systems) but you still want to be able to use MPRIS.
-# NOTE: You might need to add appropriate policies to allow spotifyd to
-# own the name.
-#dbus_type = "session"
-
-#-----------#
-# DISCOVERY #
-#-----------#
-
-# If set to true, this disables zeroconf discovery.
-# This can be useful, if one prefers to run a single-user instance.
-#disable_discovery = false
-
-# The port at which `spotifyd` is going to offer its service over the network (TCP).
-# If not set, a random port > 1024 is used. For the service to be discoverable on the
-# local network via mDNS, both the mDNS port (5353 UDP) and the random or fixed
-# zeroconf port need to be allowed through any active firewall.
-zeroconf_port = 5454
-
-#-------#
-# AUDIO #
-#-------#
-
-# The audio backend used to play music. To get
-# a list of possible backends, run `spotifyd --help`.
-#backend = "alsa" # use portaudio for macOS [homebrew]
-backend = "pulseaudio"
-
-# The alsa audio device to stream audio. To get a
-# list of valid devices, run `aplay -L`,
-#device = "default" # omit for macOS
-device = "SpotifyD-Proxy"
-
-# The PCM sample format to use. Possible values
-# are F32, S32, S24, S24_3, S16.
-# Change this value if you encounter errors like
-# "Alsa error PCM open ALSA function 'snd_pcm_hw_params_set_format' failed with error 'EINVAL: Invalid argument'"
-#audio_format = "S16"
-
-# The volume controller. Each one behaves different to
-# volume increases. For possible values, run
-# `spotifyd --help`.
-#volume_controller = "softvol" # use softvol for macOS
-
-# ! Only relevant for ALSA !
-# The alsa control device. By default this is the same
-# name as the `device` field.
-#control = "default"
-
-# ! Only relevant for ALSA !
-# The alsa mixer used by `spotifyd`.
-#mixer = "PCM" # omit for macOS
-
-# The audio bitrate. 96, 160 or 320 kbit/s
-#bitrate = 160
-
-# Volume on startup between 0 and 100
-#initial_volume = 90
-initial_volume = 100
-
-# If set to true, enables volume normalisation between songs.
-# volume_normalisation = true
-
-# The normalisation pregain that is applied for each song.
-#normalisation_pregain = -10
-
-#-------ä
-# OTHER #
-#-------#
-
-# After the music playback has ended, start playing similar songs based on the previous tracks.
-# By default, `spotifyd` infers this setting from the user settings.
-autoplay = true
-
-# A command that gets executed in your shell after each song changes.
-#on_song_change_hook = "echo \"hook executed on $PLAYER_EVENT\""
-
-# The proxy `spotifyd` will use to connect to spotify.
-#proxy = "http://proxy.example.org:8080"
\ No newline at end of file
diff --git a/unorganized/modules/ssh/default.nix b/unorganized/modules/ssh/default.nix
deleted file mode 100644
index e619d5b..0000000
--- a/unorganized/modules/ssh/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.ssh;
-in
-{
- options.modules.ssh = {
- enable = mkEnableOption "ssh";
- };
-
- config = mkIf cfg.enable {
- services.openssh.enable = true;
- };
-}
diff --git a/unorganized/modules/unfree/default.nix b/unorganized/modules/unfree/default.nix
deleted file mode 100644
index eaae9ee..0000000
--- a/unorganized/modules/unfree/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.unfree;
-in
-{
- options.modules.unfree = {
- enable = mkEnableOption "unfree";
- allowedPackages = mkOption {
- type = types.listOf types.str;
- default = [ ];
- };
- };
-
- config = mkIf cfg.enable {
- nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (getName pkg) cfg.allowedPackages;
- };
-}
diff --git a/unorganized/modules/users/default.nix b/unorganized/modules/users/default.nix
deleted file mode 100644
index 04b4f95..0000000
--- a/unorganized/modules/users/default.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- # User configuration
- userModule = types.submodule {
- options = {
- sudo = mkOption {
- type = types.bool;
- default = false;
- example = true;
- description = "Whether the user is allowed sudo access.";
- };
- configuration = mkOption {
- type = types.path;
- default = ./users/base.nix;
- description = "What home manager configuration to use for this user.";
- };
- desktopInit = mkOption {
- type = types.lines;
- default = "";
- description = "Bash script to execute after initial log in.";
- };
- };
- };
-in
-{
- imports = [
- # Import systemwide configuration
- ./systemwide.nix
- ];
-
- options = {
- machine.sudo-groups = mkOption {
- type = types.listOf types.str;
- default = [ ];
- description = "Groups assigned to sudo users.";
- };
- machine.users = mkOption {
- type = types.attrsOf userModule;
- default = { };
- description = "Users configured on this system.";
- };
- };
-
- config = {
- # Add required home manager modules
- home-manager.sharedModules = [
- # Modules
- ../../user-modules/default.nix
-
- # Custom packages
- ../../pkgs/default.nix
- ];
-
- # Create users
- users.users = attrsets.concatMapAttrs (name: value: {
- ${name} = {
- isNormalUser = true;
- extraGroups = mkIf value.sudo (
- [
- "wheel"
- ]
- ++ config.machine.sudo-groups
- );
- };
- }) config.machine.users;
-
- # Create home manager configuration for users
- home-manager.users = attrsets.concatMapAttrs (name: value: {
- ${name} = value.configuration;
- }) config.machine.users;
- };
-}
diff --git a/unorganized/modules/users/systemwide.nix b/unorganized/modules/users/systemwide.nix
deleted file mode 100644
index 280b08f..0000000
--- a/unorganized/modules/users/systemwide.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- config,
- lib,
- ...
-}:
-
-with lib;
-let
- moduleFiles = [
- ../../user-modules/desktop/systemwide.nix
- ../../user-modules/development/systemwide.nix
- ../../user-modules/gaming/systemwide.nix
- ../../user-modules/keyring/systemwide.nix
- ];
-
- moduleConfig = lists.foldr (file: acc: recursiveUpdate acc (import file)) { } moduleFiles;
-
- moduleNames = attrNames moduleConfig;
-
- mkModule =
- name: moduleConfig:
- { pkgs, ... }:
- {
- config =
- mkIf
- (any (
- user:
- (
- config.home-manager.users.${user}.modules.${name}.enable
- || (any (specialisation: specialisation.configuration.modules.${name}.enable) (
- attrValues config.home-manager.users.${user}.specialisation
- ))
- )
- ) (attrNames config.home-manager.users))
- (if (isAttrs moduleConfig) then moduleConfig else (moduleConfig { inherit config pkgs; }));
- };
-
- imports = map (name: mkModule name moduleConfig."${name}") moduleNames;
-in
-{
- imports = imports;
-}
diff --git a/unorganized/modules/vpn/tailscale.nix b/unorganized/modules/vpn/tailscale.nix
deleted file mode 100644
index 1dff284..0000000
--- a/unorganized/modules/vpn/tailscale.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.tailscale;
-in
-{
- options.modules.tailscale = {
- enable = mkEnableOption "tailscale";
- };
-
- config = mkIf cfg.enable {
- services.tailscale = {
- enable = true;
- useRoutingFeatures = "client";
- };
- };
-}
diff --git a/unorganized/modules/wifi/wpa_supplicant.nix b/unorganized/modules/wifi/wpa_supplicant.nix
deleted file mode 100644
index c7d90cd..0000000
--- a/unorganized/modules/wifi/wpa_supplicant.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.wpa_supplicant;
-in
-{
- options.modules.wpa_supplicant = {
- enable = mkEnableOption "wpa_supplicant";
- };
-
- config = mkIf cfg.enable {
- networking.wireless = {
- enable = true;
- userControlled.enable = true;
- allowAuxiliaryImperativeNetworks = true;
- };
- };
-}
diff --git a/unorganized/pkgs/default.nix b/unorganized/pkgs/default.nix
deleted file mode 100644
index 88722b3..0000000
--- a/unorganized/pkgs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- ...
-}:
-
-let
- overlay = final: prev: {
- dina-psfu = prev.callPackage ./fonts/dina-psfu.nix { };
- ttf2psf = prev.callPackage ./fonts/ttf2psf.nix { };
- wqy-zenhei = prev.callPackage ./fonts/wqy-zenhei.nix { };
- wqy-microhei = prev.callPackage ./fonts/wqy-microhei.nix { };
- wqy-bitmapsong = prev.callPackage ./fonts/wqy-bitmapsong.nix { };
-
- wprs = prev.callPackage ./programs/wprs/default.nix { };
- nixgreety = prev.callPackage ./programs/nixgreety.nix { };
- carla_osc_bridge = prev.callPackage ./programs/carla_osc_bridge.nix { };
- # ly = prev.callPackage ./programs/ly/default.nix { };
- };
-in
-{
- nixpkgs.overlays = [ overlay ];
-}
diff --git a/unorganized/pkgs/fonts/ttf2psf.nix b/unorganized/pkgs/fonts/ttf2psf.nix
deleted file mode 100644
index d640959..0000000
--- a/unorganized/pkgs/fonts/ttf2psf.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- pkgs,
- ...
-}:
-
-pkgs.stdenv.mkDerivation {
- pname = "ttf2psf";
- version = "1.0.0";
-
- src = pkgs.fetchFromGitHub {
- owner = "NateChoe1";
- repo = "ttf2psf";
- rev = "8db09d05385f595c320eccae4c48ff4393ca5bde";
- sha256 = "v52TZp+GyXHBAMsIoHFA8ZIMPsDVls13WW29vpesCig=";
- };
-
- buildInputs = with pkgs; [
- pkg-config
- freetype
- ];
-
- buildPhase = ''
- make build/ttf2psf
- '';
-
- installPhase = ''
- install -Dm 755 -t $out/bin build/ttf2psf
- install -Dm 644 -t $out/share/ttf2psf data/*.*
- install -Dm 644 -t $out/share/ttf2psf/fontsets data/fontsets/*
- '';
-}
diff --git a/unorganized/pkgs/fonts/wqy-bitmapsong.nix b/unorganized/pkgs/fonts/wqy-bitmapsong.nix
deleted file mode 100644
index 33c2890..0000000
--- a/unorganized/pkgs/fonts/wqy-bitmapsong.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- pkgs,
- ...
-}:
-
-pkgs.stdenv.mkDerivation rec {
- pname = "wqy-bitmapsong-pcf";
- version = "1.0.0-RC1";
-
- src = pkgs.fetchurl {
- url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
- hash = "sha256-0uvwkRUbvJ0remTnlP8dElRjaBVd6iukNYBTE/CTO7s=";
- };
-
- buildInputs = [ pkgs.fontforge ];
- buildPhase = ''
- newName() {
- test "''${1:5:1}" = i && _it=Italic || _it=
- case ''${1:6:3} in
- 400) test -z $it && _weight=Medium ;;
- 700) _weight=Bold ;;
- esac
- _pt=''${1%.pcf}
- _pt=''${_pt#*-}
- echo "WenQuanYi_Bitmap_Song$_weight$_it$_pt"
- }
-
- for i in *.pcf; do
- fontforge -lang=ff -c "Open(\"$i\"); Generate(\"$(newName $i).otb\")"
- done
- '';
- installPhase = ''
- install -Dm644 *.otb -t $out/share/fonts/
- '';
-}
diff --git a/unorganized/pkgs/fonts/wqy-microhei.nix b/unorganized/pkgs/fonts/wqy-microhei.nix
deleted file mode 100644
index 49060bb..0000000
--- a/unorganized/pkgs/fonts/wqy-microhei.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- pkgs,
- ...
-}:
-
-pkgs.stdenv.mkDerivation rec {
- pname = "wqy-microhei";
- version = "0.2.0-beta";
-
- src = pkgs.fetchurl {
- url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
- hash = "sha256-KAKsgCOqNqZupudEWFTjoHjTd///QhaTQb0jeHH3IT4=";
- };
-
- installPhase = ''
- runHook preInstall
-
- install -Dm644 *.ttc -t $out/share/fonts/
-
- runHook postInstall
- '';
-}
diff --git a/unorganized/pkgs/fonts/wqy-zenhei.nix b/unorganized/pkgs/fonts/wqy-zenhei.nix
deleted file mode 100644
index 56dd61c..0000000
--- a/unorganized/pkgs/fonts/wqy-zenhei.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- pkgs,
- ...
-}:
-
-pkgs.stdenv.mkDerivation rec {
- pname = "wqy-zenhei";
- version = "0.9.45";
-
- src = pkgs.fetchurl {
- url = "mirror://sourceforge/wqy/${pname}-${version}.tar.gz";
- hash = "sha256-5LfjBkdb+UJ9F1dXjw5FKJMMhMROqj8WfUxC8RDuddY=";
- };
-
- installPhase = ''
- runHook preInstall
-
- install -Dm644 *.ttc -t $out/share/fonts/
-
- runHook postInstall
- '';
-}
diff --git a/unorganized/pkgs/programs/carla_osc_bridge.nix b/unorganized/pkgs/programs/carla_osc_bridge.nix
deleted file mode 100644
index fe9e7a2..0000000
--- a/unorganized/pkgs/programs/carla_osc_bridge.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs, ... }:
-
-with pkgs;
-rustPlatform.buildRustPackage {
- pname = "carla_osc_bridge";
- version = "master";
-
- src = fetchFromGitea {
- domain = "git.bulthuis.dev";
- owner = "Jan";
- repo = "carla_osc_bridge";
- rev = "c037e2d2a1b29b785d8acc10fa0cb761afdb3fcf";
- hash = "sha256-Wvdfm+4dfygZwkvaUhO9w7DrrUl3ZYvtD7nYrPSD0eA=";
- };
-
- cargoHash = "sha256-s1ZKbhHudgPOy7613zbT8TkbM6B7oloLEuTYHoWjX5o=";
-
- useFetchCargoVendor = true;
-}
diff --git a/unorganized/pkgs/programs/ly/default.nix b/unorganized/pkgs/programs/ly/default.nix
deleted file mode 100644
index 15f18f9..0000000
--- a/unorganized/pkgs/programs/ly/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- stdenv,
- lib,
- fetchFromGitHub,
- linux-pam,
- libxcb,
- makeBinaryWrapper,
- zig_0_12,
- callPackage,
- nixosTests,
-}:
-
-stdenv.mkDerivation {
- pname = "ly";
- version = "1.0.2";
-
- src = fetchFromGitHub {
- owner = "peterc-s";
- repo = "ly";
- rev = "e6d8bea236dd0097adb1c22e9a23d95102ebe9d9";
- sha256 = "w9YdNVD+8UhrEbPJ7xqsd/WoxU2rlo2GXFtc9JpWHxo=";
- };
-
- nativeBuildInputs = [
- makeBinaryWrapper
- zig_0_12.hook
- ];
- buildInputs = [
- libxcb
- linux-pam
- ];
-
- postPatch = ''
- ln -s ${callPackage ./deps.nix { }} $ZIG_GLOBAL_CACHE_DIR/p
- '';
-
- passthru.tests = { inherit (nixosTests) ly; };
-
- meta = with lib; {
- description = "TUI display manager";
- license = licenses.wtfpl;
- homepage = "https://github.com/fairyglade/ly";
- maintainers = [ maintainers.vidister ];
- platforms = platforms.linux;
- mainProgram = "ly";
- };
-}
diff --git a/unorganized/pkgs/programs/ly/deps.nix b/unorganized/pkgs/programs/ly/deps.nix
deleted file mode 100644
index ba46193..0000000
--- a/unorganized/pkgs/programs/ly/deps.nix
+++ /dev/null
@@ -1,110 +0,0 @@
-# generated by zon2nix (https://github.com/Cloudef/zig2nix)
-
-{
- lib,
- linkFarm,
- fetchurl,
- fetchgit,
- runCommandLocal,
- zig,
- name ? "zig-packages",
-}:
-
-let
- unpackZigArtifact =
- { name, artifact }:
- runCommandLocal name { nativeBuildInputs = [ zig ]; } ''
- hash="$(zig fetch --global-cache-dir "$TMPDIR" ${artifact})"
- mv "$TMPDIR/p/$hash" "$out"
- chmod 755 "$out"
- '';
-
- fetchZig =
- {
- name,
- url,
- hash,
- }:
- let
- artifact = fetchurl { inherit url hash; };
- in
- unpackZigArtifact { inherit name artifact; };
-
- fetchGitZig =
- {
- name,
- url,
- hash,
- }:
- let
- parts = lib.splitString "#" url;
- base = lib.elemAt parts 0;
- rev = lib.elemAt parts 1;
- in
- fetchgit {
- inherit name rev hash;
- url = base;
- deepClone = false;
- };
-
- fetchZigArtifact =
- {
- name,
- url,
- hash,
- }:
- let
- parts = lib.splitString "://" url;
- proto = lib.elemAt parts 0;
- path = lib.elemAt parts 1;
- fetcher = {
- "git+http" = fetchGitZig {
- inherit name hash;
- url = "http://${path}";
- };
- "git+https" = fetchGitZig {
- inherit name hash;
- url = "https://${path}";
- };
- http = fetchZig {
- inherit name hash;
- url = "http://${path}";
- };
- https = fetchZig {
- inherit name hash;
- url = "https://${path}";
- };
- file = unpackZigArtifact {
- inherit name;
- artifact = /. + path;
- };
- };
- in
- fetcher.${proto};
-in
-linkFarm name [
- {
- name = "122062d301a203d003547b414237229b09a7980095061697349f8bef41be9c30266b";
- path = fetchZigArtifact {
- name = "clap";
- url = "https://github.com/Hejsil/zig-clap/archive/refs/tags/0.9.1.tar.gz";
- hash = "sha256-7qxm/4xb+58MGG+iUzssUtR97OG2dRjAqyS0BAet4HY=";
- };
- }
- {
- name = "12209b971367b4066d40ecad4728e6fdffc4cc4f19356d424c2de57f5b69ac7a619a";
- path = fetchZigArtifact {
- name = "zigini";
- url = "https://github.com/Kawaii-Ash/zigini/archive/0bba97a12582928e097f4074cc746c43351ba4c8.tar.gz";
- hash = "sha256-OdaJ5tqmk2MPwaAbpK4HRD/CcQCN+Cjj8U63BqUcFMs=";
- };
- }
- {
- name = "1220b0979ea9891fa4aeb85748fc42bc4b24039d9c99a4d65d893fb1c83e921efad8";
- path = fetchZigArtifact {
- name = "ini";
- url = "https://github.com/ziglibs/ini/archive/e18d36665905c1e7ba0c1ce3e8780076b33e3002.tar.gz";
- hash = "sha256-RQ6OPJBqqH7PCL+xiI58JT7vnIo6zbwpLWn+byZO5iM=";
- };
- }
-]
diff --git a/unorganized/pkgs/programs/nixgreety.nix b/unorganized/pkgs/programs/nixgreety.nix
deleted file mode 100644
index eb378f3..0000000
--- a/unorganized/pkgs/programs/nixgreety.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs, ... }:
-
-with pkgs;
-rustPlatform.buildRustPackage {
- pname = "nixgreety";
- version = "master";
-
- src = fetchFromGitea {
- domain = "git.bulthuis.dev";
- owner = "Jan";
- repo = "nixgreety";
- rev = "c7278a910a0238a53f23fe9a0ae881802a4bcb31";
- hash = "sha256-kZB+iEFIDJ8pOJetu4Isu4oaktgIn14D4PcpDXLOXA8=";
- };
-
- cargoHash = "sha256-pklKVzYoChRqPZ/D3BsMGnaBFd615TKbvoAy7iU8UtA=";
-
- useFetchCargoVendor = true;
-}
diff --git a/unorganized/pkgs/programs/wprs/Cargo.lock b/unorganized/pkgs/programs/wprs/Cargo.lock
deleted file mode 100644
index b5f90b2..0000000
--- a/unorganized/pkgs/programs/wprs/Cargo.lock
+++ /dev/null
@@ -1,2431 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "adler2"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "anes"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
-
-[[package]]
-name = "anstyle"
-version = "1.0.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9"
-
-[[package]]
-name = "anyhow"
-version = "1.0.95"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
-
-[[package]]
-name = "appendlist"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e149dc73cd30538307e7ffa2acd3d2221148eaeed4871f246657b1c3eaa1cbd2"
-
-[[package]]
-name = "approx"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f2a05fd1bd10b2527e20a2cd32d8873d115b8b39fe219ee25f42a8aca6ba278"
-dependencies = [
- "num-traits",
-]
-
-[[package]]
-name = "arrayref"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"
-
-[[package]]
-name = "arrayvec"
-version = "0.7.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
-
-[[package]]
-name = "autocfg"
-version = "1.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
-
-[[package]]
-name = "base64"
-version = "0.21.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
-
-[[package]]
-name = "bimap"
-version = "0.6.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "230c5f1ca6a325a32553f8640d31ac9b49f2411e901e427570154868b46da4f7"
-
-[[package]]
-name = "bit-set"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3"
-dependencies = [
- "bit-vec",
-]
-
-[[package]]
-name = "bit-vec"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f68f53c83ab957f72c32642f3868eec03eb974d1fb82e453128456482613d36"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "blake3"
-version = "1.5.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e"
-dependencies = [
- "arrayref",
- "arrayvec",
- "cc",
- "cfg-if",
- "constant_time_eq",
-]
-
-[[package]]
-name = "bpaf"
-version = "0.9.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50fd5174866dc2fa2ddc96e8fb800852d37f064f32a45c7b7c2f8fa2c64c77fa"
-
-[[package]]
-name = "bumpalo"
-version = "3.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
-
-[[package]]
-name = "bytecheck"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50c8f430744b23b54ad15161fcbc22d82a29b73eacbe425fea23ec822600bc6f"
-dependencies = [
- "bytecheck_derive",
- "ptr_meta",
- "rancor",
- "simdutf8",
-]
-
-[[package]]
-name = "bytecheck_derive"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "523363cbe1df49b68215efdf500b103ac3b0fb4836aed6d15689a076eadb8fff"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "bytemuck"
-version = "1.21.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef657dfab802224e671f5818e9a4935f9b1957ed18e58292690cc39e7a4092a3"
-dependencies = [
- "bytemuck_derive",
-]
-
-[[package]]
-name = "bytemuck_derive"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "byteorder"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
-
-[[package]]
-name = "bytes"
-version = "1.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b"
-
-[[package]]
-name = "calloop"
-version = "0.14.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "10929724661d1c43856fd87c7a127ae944ec55579134fb485e4136fb6a46fdcb"
-dependencies = [
- "bitflags 2.8.0",
- "polling",
- "rustix",
- "slab",
- "tracing",
-]
-
-[[package]]
-name = "calloop-wayland-source"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "876a7a1dbbe026a55ef47a500b123af5a9a0914520f061d467914cf21be95daf"
-dependencies = [
- "calloop",
- "rustix",
- "wayland-backend",
- "wayland-client",
-]
-
-[[package]]
-name = "camino"
-version = "1.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3"
-
-[[package]]
-name = "cast"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
-
-[[package]]
-name = "cc"
-version = "1.2.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8293772165d9345bdaaa39b45b2109591e63fe5e6fbc23c6ff930a048aa310b"
-dependencies = [
- "jobserver",
- "libc",
- "shlex",
-]
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "cfg_aliases"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
-
-[[package]]
-name = "cgmath"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a98d30140e3296250832bbaaff83b27dcd6fa3cc70fb6f1f3e5c9c0023b5317"
-dependencies = [
- "approx",
- "num-traits",
-]
-
-[[package]]
-name = "ciborium"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
-dependencies = [
- "ciborium-io",
- "ciborium-ll",
- "serde",
-]
-
-[[package]]
-name = "ciborium-io"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
-
-[[package]]
-name = "ciborium-ll"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
-dependencies = [
- "ciborium-io",
- "half",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8eb5e908ef3a6efbe1ed62520fb7287959888c88485abe072543190ecc66783"
-dependencies = [
- "clap_builder",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.26"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96b01801b5fc6a0a232407abc821660c9c6d25a1cafc0d4f85f29fb8d9afc121"
-dependencies = [
- "anstyle",
- "clap_lex",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6"
-
-[[package]]
-name = "concurrent-queue"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "constant_time_eq"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
-
-[[package]]
-name = "crc32fast"
-version = "1.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "criterion"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
-dependencies = [
- "anes",
- "cast",
- "ciborium",
- "clap",
- "criterion-plot",
- "is-terminal",
- "itertools 0.10.5",
- "num-traits",
- "once_cell",
- "oorandom",
- "plotters",
- "rayon",
- "regex",
- "serde",
- "serde_derive",
- "serde_json",
- "tinytemplate",
- "walkdir",
-]
-
-[[package]]
-name = "criterion-plot"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
-dependencies = [
- "cast",
- "itertools 0.10.5",
-]
-
-[[package]]
-name = "crossbeam-channel"
-version = "0.5.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-deque"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
-dependencies = [
- "crossbeam-epoch",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-epoch"
-version = "0.9.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
-dependencies = [
- "crossbeam-utils",
-]
-
-[[package]]
-name = "crossbeam-utils"
-version = "0.8.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
-
-[[package]]
-name = "crunchy"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
-
-[[package]]
-name = "cursor-icon"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96a6ac251f4a2aca6b3f91340350eab87ae57c3f127ffeb585e92bd336717991"
-
-[[package]]
-name = "divbuf"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0809dcae8c7e9f3a1d7a70ea495427e09a2d494088b4276cb118b51d513c6af1"
-
-[[package]]
-name = "dlib"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
-dependencies = [
- "libloading",
-]
-
-[[package]]
-name = "downcast-rs"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2"
-
-[[package]]
-name = "drm-fourcc"
-version = "2.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4"
-
-[[package]]
-name = "either"
-version = "1.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "enum-as-inner"
-version = "0.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "errno"
-version = "0.3.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d"
-dependencies = [
- "libc",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "fallible-iterator"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
-
-[[package]]
-name = "fastrand"
-version = "2.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
-
-[[package]]
-name = "fdeflate"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c"
-dependencies = [
- "simd-adler32",
-]
-
-[[package]]
-name = "flate2"
-version = "1.0.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c"
-dependencies = [
- "crc32fast",
- "miniz_oxide",
-]
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "generator"
-version = "0.8.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc6bd114ceda131d3b1d665eba35788690ad37f5916457286b32ab6fd3c438dd"
-dependencies = [
- "cfg-if",
- "libc",
- "log",
- "rustversion",
- "windows",
-]
-
-[[package]]
-name = "gethostname"
-version = "0.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818"
-dependencies = [
- "libc",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "glob"
-version = "0.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2"
-
-[[package]]
-name = "half"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
-dependencies = [
- "cfg-if",
- "crunchy",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.15.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "hermit-abi"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc"
-
-[[package]]
-name = "home"
-version = "0.5.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf"
-dependencies = [
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "io-lifetimes"
-version = "2.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06432fb54d3be7964ecd3649233cddf80db2832f47fec34c01f65b3d9d774983"
-
-[[package]]
-name = "is-terminal"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b"
-dependencies = [
- "hermit-abi 0.4.0",
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "itertools"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itertools"
-version = "0.13.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674"
-
-[[package]]
-name = "jobserver"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.77"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f"
-dependencies = [
- "once_cell",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "lagoon"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d646ad46f3aec5825bb57e0245ad9b9396ae2600102e23d029e5d8274c3e9ae4"
-dependencies = [
- "crossbeam-channel",
- "num_cpus",
- "scopeguard",
- "spin",
-]
-
-[[package]]
-name = "lazy_static"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
-
-[[package]]
-name = "libc"
-version = "0.2.169"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a"
-
-[[package]]
-name = "libloading"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
-dependencies = [
- "cfg-if",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "linux-raw-sys"
-version = "0.4.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"
-
-[[package]]
-name = "lock_api"
-version = "0.4.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f"
-
-[[package]]
-name = "loom"
-version = "0.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca"
-dependencies = [
- "cfg-if",
- "generator",
- "scoped-tls",
- "tracing",
- "tracing-subscriber",
-]
-
-[[package]]
-name = "matchers"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558"
-dependencies = [
- "regex-automata 0.1.10",
-]
-
-[[package]]
-name = "memchr"
-version = "2.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
-
-[[package]]
-name = "memmap2"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
-version = "0.9.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memoffset"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "merkle_hash"
-version = "3.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3edd3572d1a7b4e1b7ce5bb3af05405a8aeab2ec04b29d9779e72ad576ce4f38"
-dependencies = [
- "blake3",
- "camino",
- "rayon",
-]
-
-[[package]]
-name = "miniz_oxide"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8402cab7aefae129c6977bb0ff1b8fd9a04eb5b51efc50a70bea51cda0c7924"
-dependencies = [
- "adler2",
- "simd-adler32",
-]
-
-[[package]]
-name = "munge"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64142d38c84badf60abf06ff9bd80ad2174306a5b11bd4706535090a30a419df"
-dependencies = [
- "munge_macro",
-]
-
-[[package]]
-name = "munge_macro"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bb5c1d8184f13f7d0ccbeeca0def2f9a181bce2624302793005f5ca8aa62e5e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "nix"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
-dependencies = [
- "bitflags 2.8.0",
- "cfg-if",
- "cfg_aliases",
- "libc",
- "memoffset",
-]
-
-[[package]]
-name = "nu-ansi-term"
-version = "0.46.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
-dependencies = [
- "overload",
- "winapi",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "num_cpus"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
-dependencies = [
- "hermit-abi 0.3.9",
- "libc",
-]
-
-[[package]]
-name = "num_enum"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
-dependencies = [
- "num_enum_derive",
-]
-
-[[package]]
-name = "num_enum_derive"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
-dependencies = [
- "proc-macro-crate",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.20.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
-
-[[package]]
-name = "oorandom"
-version = "11.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9"
-
-[[package]]
-name = "optional_struct"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14199f59efce6ed2c5854f0abc725c32eedfbd02c6ef82c9733c726f3fc6dc91"
-dependencies = [
- "optional_struct_macro",
- "serde",
-]
-
-[[package]]
-name = "optional_struct_macro"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5eba042d9efe5e108e0df9ce2f85c540fc4f94f41c6821cbcf70ed47c1221da"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "overload"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b"
-
-[[package]]
-name = "pkg-config"
-version = "0.3.31"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2"
-
-[[package]]
-name = "plotters"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747"
-dependencies = [
- "num-traits",
- "plotters-backend",
- "plotters-svg",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "plotters-backend"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a"
-
-[[package]]
-name = "plotters-svg"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670"
-dependencies = [
- "plotters-backend",
-]
-
-[[package]]
-name = "png"
-version = "0.17.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
-dependencies = [
- "bitflags 1.3.2",
- "crc32fast",
- "fdeflate",
- "flate2",
- "miniz_oxide",
-]
-
-[[package]]
-name = "polling"
-version = "3.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a604568c3202727d1507653cb121dbd627a58684eb09a820fd746bee38b4442f"
-dependencies = [
- "cfg-if",
- "concurrent-queue",
- "hermit-abi 0.4.0",
- "pin-project-lite",
- "rustix",
- "tracing",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
-dependencies = [
- "zerocopy",
-]
-
-[[package]]
-name = "proc-macro-crate"
-version = "3.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
-dependencies = [
- "toml_edit",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.93"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60946a68e5f9d28b0dc1c21bb8a97ee7d018a8b322fa57838ba31cc878e22d99"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "profiling"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d"
-dependencies = [
- "profiling-procmacros",
-]
-
-[[package]]
-name = "profiling-procmacros"
-version = "1.0.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "proptest"
-version = "1.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14cae93065090804185d3b75f0bf93b8eeda30c7a9b4a33d3bdb3988d6229e50"
-dependencies = [
- "bit-set",
- "bit-vec",
- "bitflags 2.8.0",
- "lazy_static",
- "num-traits",
- "rand",
- "rand_chacha",
- "rand_xorshift",
- "regex-syntax 0.8.5",
- "rusty-fork",
- "tempfile",
- "unarray",
-]
-
-[[package]]
-name = "ptr_meta"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fe9e76f66d3f9606f44e45598d155cb13ecf09f4a28199e48daf8c8fc937ea90"
-dependencies = [
- "ptr_meta_derive",
-]
-
-[[package]]
-name = "ptr_meta_derive"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca414edb151b4c8d125c12566ab0d74dc9cdba36fb80eb7b848c15f495fd32d1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "quick-error"
-version = "1.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
-name = "quick-xml"
-version = "0.36.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7649a7b4df05aed9ea7ec6f628c67c9953a43869b8bc50929569b2999d443fe"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rancor"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "caf5f7161924b9d1cea0e4cabc97c372cea92b5f927fc13c6bca67157a0ad947"
-dependencies = [
- "ptr_meta",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[package]]
-name = "rand_chacha"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-dependencies = [
- "ppv-lite86",
- "rand_core",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_xorshift"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
-name = "rayon"
-version = "1.10.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
-dependencies = [
- "either",
- "rayon-core",
-]
-
-[[package]]
-name = "rayon-core"
-version = "1.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
-dependencies = [
- "crossbeam-deque",
- "crossbeam-utils",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.5.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834"
-dependencies = [
- "bitflags 2.8.0",
-]
-
-[[package]]
-name = "regex"
-version = "1.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata 0.4.9",
- "regex-syntax 0.8.5",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.1.10"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
-dependencies = [
- "regex-syntax 0.6.29",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax 0.8.5",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.6.29"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1"
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
-
-[[package]]
-name = "rend"
-version = "0.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a35e8a6bf28cd121053a66aa2e6a2e3eaffad4a60012179f0e864aa5ffeff215"
-dependencies = [
- "bytecheck",
-]
-
-[[package]]
-name = "rkyv"
-version = "0.8.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b11a153aec4a6ab60795f8ebe2923c597b16b05bb1504377451e705ef1a45323"
-dependencies = [
- "bytecheck",
- "bytes",
- "hashbrown",
- "indexmap",
- "munge",
- "ptr_meta",
- "rancor",
- "rend",
- "rkyv_derive",
- "tinyvec",
- "uuid",
-]
-
-[[package]]
-name = "rkyv_derive"
-version = "0.8.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beb382a4d9f53bd5c0be86b10d8179c3f8a14c30bf774ff77096ed6581e35981"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "ron"
-version = "0.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b91f7eff05f748767f183df4320a63d6936e9c6107d97c9e6bdd9784f4289c94"
-dependencies = [
- "base64",
- "bitflags 2.8.0",
- "serde",
- "serde_derive",
-]
-
-[[package]]
-name = "rustix"
-version = "0.38.43"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a78891ee6bf2340288408954ac787aa063d8e8817e9f53abb37c695c6d834ef6"
-dependencies = [
- "bitflags 2.8.0",
- "errno",
- "libc",
- "linux-raw-sys",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "rustversion"
-version = "1.0.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f7c45b9784283f1b2e7fb61b42047c2fd678ef0960d4f6f1eba131594cc369d4"
-
-[[package]]
-name = "rusty-fork"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
-dependencies = [
- "fnv",
- "quick-error",
- "tempfile",
- "wait-timeout",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
-
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "scoped-tls"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "serde"
-version = "1.0.217"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.217"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.135"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b0d7ba2887406110130a978386c4e1befb98c674b4fba677954e4db976630d9"
-dependencies = [
- "itoa",
- "memchr",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_spanned"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "sharded-slab"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
-dependencies = [
- "lazy_static",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "simd-adler32"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
-
-[[package]]
-name = "simdutf8"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e"
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "smithay"
-version = "0.3.0"
-source = "git+https://github.com/Smithay/smithay.git#fe31867e3afac2543c4016fb8ed99df3e11eb6da"
-dependencies = [
- "appendlist",
- "bitflags 2.8.0",
- "calloop",
- "cgmath",
- "cursor-icon",
- "downcast-rs",
- "drm-fourcc",
- "encoding_rs",
- "errno",
- "indexmap",
- "libc",
- "profiling",
- "rand",
- "rustix",
- "scopeguard",
- "smallvec",
- "tempfile",
- "thiserror",
- "tracing",
- "wayland-protocols",
- "wayland-protocols-misc",
- "wayland-protocols-wlr",
- "wayland-server",
- "x11rb",
- "xkbcommon 0.8.0",
-]
-
-[[package]]
-name = "smithay-client-toolkit"
-version = "0.19.2"
-source = "git+https://github.com/Smithay/client-toolkit.git#ca6a36e4d5f4a171eea91eabe7c8ab9b17fa98e0"
-dependencies = [
- "bitflags 2.8.0",
- "bytemuck",
- "calloop",
- "calloop-wayland-source",
- "cursor-icon",
- "libc",
- "log",
- "memmap2 0.9.5",
- "pkg-config",
- "rustix",
- "thiserror",
- "wayland-backend",
- "wayland-client",
- "wayland-csd-frame",
- "wayland-cursor",
- "wayland-protocols",
- "wayland-protocols-wlr",
- "wayland-scanner",
- "xkbcommon 0.7.0",
- "xkeysym",
-]
-
-[[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-dependencies = [
- "lock_api",
-]
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "syn"
-version = "2.0.96"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "sysctl"
-version = "0.6.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01198a2debb237c62b6826ec7081082d951f46dbb64b0e8c7649a452230d1dfc"
-dependencies = [
- "bitflags 2.8.0",
- "byteorder",
- "enum-as-inner",
- "libc",
- "thiserror",
- "walkdir",
-]
-
-[[package]]
-name = "target-triple"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42a4d50cdb458045afc8131fd91b64904da29548bcb63c7236e0844936c13078"
-
-[[package]]
-name = "tempfile"
-version = "3.15.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a8a559c81686f576e8cd0290cd2a24a2a9ad80c98b3478856500fcbd7acd704"
-dependencies = [
- "cfg-if",
- "fastrand",
- "getrandom",
- "once_cell",
- "rustix",
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "termcolor"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755"
-dependencies = [
- "winapi-util",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "tinytemplate"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "022db8904dfa342efe721985167e9fcd16c29b226db4397ed752a761cfce81e8"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "toml"
-version = "0.8.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
-dependencies = [
- "serde",
- "serde_spanned",
- "toml_datetime",
- "toml_edit",
-]
-
-[[package]]
-name = "toml_datetime"
-version = "0.6.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
-dependencies = [
- "serde",
-]
-
-[[package]]
-name = "toml_edit"
-version = "0.22.22"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
-dependencies = [
- "indexmap",
- "serde",
- "serde_spanned",
- "toml_datetime",
- "winnow",
-]
-
-[[package]]
-name = "tracing"
-version = "0.1.41"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0"
-dependencies = [
- "log",
- "pin-project-lite",
- "tracing-attributes",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-attributes"
-version = "0.1.28"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.33"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c"
-dependencies = [
- "once_cell",
- "valuable",
-]
-
-[[package]]
-name = "tracing-log"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
-dependencies = [
- "log",
- "once_cell",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-subscriber"
-version = "0.3.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
-dependencies = [
- "matchers",
- "nu-ansi-term",
- "once_cell",
- "parking_lot",
- "regex",
- "sharded-slab",
- "smallvec",
- "thread_local",
- "tracing",
- "tracing-core",
- "tracing-log",
-]
-
-[[package]]
-name = "tracing-tracy"
-version = "0.11.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eaa1852afa96e0fe9e44caa53dc0bd2d9d05e0f2611ce09f97f8677af56e4ba"
-dependencies = [
- "tracing-core",
- "tracing-subscriber",
- "tracy-client 0.18.0",
-]
-
-[[package]]
-name = "tracy-client"
-version = "0.17.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73202d787346a5418f8222eddb5a00f29ea47caf3c7d38a8f2f69f8455fa7c7e"
-dependencies = [
- "loom",
- "once_cell",
- "tracy-client-sys",
-]
-
-[[package]]
-name = "tracy-client"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d90a2c01305b02b76fdd89ac8608bae27e173c829a35f7d76a345ab5d33836db"
-dependencies = [
- "loom",
- "once_cell",
- "tracy-client-sys",
-]
-
-[[package]]
-name = "tracy-client-sys"
-version = "0.24.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69fff37da548239c3bf9e64a12193d261e8b22b660991c6fd2df057c168f435f"
-dependencies = [
- "cc",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "trybuild"
-version = "1.0.101"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8dcd332a5496c026f1e14b7f3d2b7bd98e509660c04239c58b0ba38a12daded4"
-dependencies = [
- "glob",
- "serde",
- "serde_derive",
- "serde_json",
- "target-triple",
- "termcolor",
- "toml",
-]
-
-[[package]]
-name = "unarray"
-version = "0.1.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83"
-
-[[package]]
-name = "uuid"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "744018581f9a3454a9e15beb8a33b017183f1e7c0cd170232a2d1453b23a51c4"
-
-[[package]]
-name = "valuable"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
-
-[[package]]
-name = "wait-timeout"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasite"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5"
-dependencies = [
- "cfg-if",
- "once_cell",
- "rustversion",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6"
-dependencies = [
- "bumpalo",
- "log",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "wayland-backend"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "056535ced7a150d45159d3a8dc30f91a2e2d588ca0b23f70e56033622b8016f6"
-dependencies = [
- "cc",
- "downcast-rs",
- "rustix",
- "scoped-tls",
- "smallvec",
- "wayland-sys",
-]
-
-[[package]]
-name = "wayland-client"
-version = "0.31.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b66249d3fc69f76fd74c82cc319300faa554e9d865dab1f7cd66cc20db10b280"
-dependencies = [
- "bitflags 2.8.0",
- "rustix",
- "wayland-backend",
- "wayland-scanner",
-]
-
-[[package]]
-name = "wayland-csd-frame"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e"
-dependencies = [
- "bitflags 2.8.0",
- "cursor-icon",
- "wayland-backend",
-]
-
-[[package]]
-name = "wayland-cursor"
-version = "0.31.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32b08bc3aafdb0035e7fe0fdf17ba0c09c268732707dca4ae098f60cb28c9e4c"
-dependencies = [
- "rustix",
- "wayland-client",
- "xcursor",
-]
-
-[[package]]
-name = "wayland-protocols"
-version = "0.32.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cd0ade57c4e6e9a8952741325c30bf82f4246885dca8bf561898b86d0c1f58e"
-dependencies = [
- "bitflags 2.8.0",
- "wayland-backend",
- "wayland-client",
- "wayland-scanner",
- "wayland-server",
-]
-
-[[package]]
-name = "wayland-protocols-misc"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da2e42969764e469a115d4bb1c16e9588ef8b75b127ba7a2c9ddf1e140b25ca7"
-dependencies = [
- "bitflags 2.8.0",
- "wayland-backend",
- "wayland-protocols",
- "wayland-scanner",
- "wayland-server",
-]
-
-[[package]]
-name = "wayland-protocols-wlr"
-version = "0.3.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "782e12f6cd923c3c316130d56205ebab53f55d6666b7faddfad36cecaeeb4022"
-dependencies = [
- "bitflags 2.8.0",
- "wayland-backend",
- "wayland-client",
- "wayland-protocols",
- "wayland-scanner",
- "wayland-server",
-]
-
-[[package]]
-name = "wayland-scanner"
-version = "0.31.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "597f2001b2e5fc1121e3d5b9791d3e78f05ba6bfa4641053846248e3a13661c3"
-dependencies = [
- "proc-macro2",
- "quick-xml",
- "quote",
-]
-
-[[package]]
-name = "wayland-server"
-version = "0.31.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c89532cc712a2adb119eb4d09694b402576052254d0bb284f82ac1c47fb786ad"
-dependencies = [
- "bitflags 2.8.0",
- "downcast-rs",
- "io-lifetimes",
- "rustix",
- "wayland-backend",
- "wayland-scanner",
-]
-
-[[package]]
-name = "wayland-sys"
-version = "0.31.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efa8ac0d8e8ed3e3b5c9fc92c7881406a268e11555abe36493efabe649a29e09"
-dependencies = [
- "dlib",
- "log",
- "pkg-config",
-]
-
-[[package]]
-name = "web-sys"
-version = "0.3.77"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "whoami"
-version = "1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d"
-dependencies = [
- "redox_syscall",
- "wasite",
- "web-sys",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-util"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
-dependencies = [
- "windows-sys 0.59.0",
-]
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows"
-version = "0.58.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
-dependencies = [
- "windows-core",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-core"
-version = "0.58.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
-dependencies = [
- "windows-implement",
- "windows-interface",
- "windows-result",
- "windows-strings",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-implement"
-version = "0.58.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-interface"
-version = "0.58.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "windows-result"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-strings"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
-dependencies = [
- "windows-result",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.59.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "winnow"
-version = "0.6.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8d71a593cc5c42ad7876e2c1fda56f314f3754c084128833e64f1345ff8a03a"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "wprs"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "arrayref",
- "bimap",
- "bpaf",
- "bytemuck",
- "criterion",
- "crossbeam-channel",
- "divbuf",
- "enum-as-inner",
- "fallible-iterator",
- "home",
- "itertools 0.13.0",
- "lagoon",
- "merkle_hash",
- "nix",
- "num_enum",
- "optional_struct",
- "png",
- "proptest",
- "rkyv",
- "ron",
- "serde",
- "serde_derive",
- "serde_json",
- "smithay",
- "smithay-client-toolkit",
- "static_assertions",
- "sysctl",
- "tracing",
- "tracing-subscriber",
- "tracing-tracy",
- "tracy-client 0.17.6",
- "trybuild",
- "whoami",
- "x11rb",
- "zstd",
-]
-
-[[package]]
-name = "x11rb"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12"
-dependencies = [
- "gethostname",
- "rustix",
- "x11rb-protocol",
-]
-
-[[package]]
-name = "x11rb-protocol"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
-
-[[package]]
-name = "xcursor"
-version = "0.3.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ef33da6b1660b4ddbfb3aef0ade110c8b8a781a3b6382fa5f2b5b040fd55f61"
-
-[[package]]
-name = "xkbcommon"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13867d259930edc7091a6c41b4ce6eee464328c6ff9659b7e4c668ca20d4c91e"
-dependencies = [
- "libc",
- "memmap2 0.8.0",
- "xkeysym",
-]
-
-[[package]]
-name = "xkbcommon"
-version = "0.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d66ca9352cbd4eecbbc40871d8a11b4ac8107cfc528a6e14d7c19c69d0e1ac9"
-dependencies = [
- "libc",
- "memmap2 0.9.5",
- "xkeysym",
-]
-
-[[package]]
-name = "xkeysym"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
-dependencies = [
- "bytemuck",
-]
-
-[[package]]
-name = "zerocopy"
-version = "0.7.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0"
-dependencies = [
- "byteorder",
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.7.35"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "zstd"
-version = "0.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9"
-dependencies = [
- "zstd-safe",
-]
-
-[[package]]
-name = "zstd-safe"
-version = "7.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54a3ab4db68cea366acc5c897c7b4d4d1b8994a9cd6e6f841f8964566a419059"
-dependencies = [
- "zstd-sys",
-]
-
-[[package]]
-name = "zstd-sys"
-version = "2.0.13+zstd.1.5.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa"
-dependencies = [
- "cc",
- "pkg-config",
-]
\ No newline at end of file
diff --git a/unorganized/pkgs/programs/wprs/default.nix b/unorganized/pkgs/programs/wprs/default.nix
deleted file mode 100644
index 2d67994..0000000
--- a/unorganized/pkgs/programs/wprs/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- lib,
- rustPlatform,
- fetchFromGitHub,
- pkg-config,
- libxkbcommon,
- python3,
- runCommand,
- wprs,
-}:
-rustPlatform.buildRustPackage {
- pname = "wprs";
- version = "0-unstable-2025-04-16";
-
- src = fetchFromGitHub {
- owner = "wayland-transpositor";
- repo = "wprs";
- rev = "dfc1385bcb73734cd0d05a7e353522983c236562";
- hash = "sha256-MrfYrKAVFoT453B2zED6Ax2coZ/KZ7CWYdZCx469Q/4=";
- };
-
- nativeBuildInputs = [
- pkg-config
- ];
-
- buildInputs = [
- libxkbcommon
- (python3.withPackages (pp: with pp; [ psutil ]))
- ];
-
- useFetchCargoVendor = true;
- cargoHash = "sha256-01PTfgDeagC72z8XADXEn5Aio6UWQAAYgDP4zKFTPpY=";
-
- preFixup = ''
- cp wprs "$out/bin/wprs"
- '';
-
- passthru.tests.sanity = runCommand "wprs-sanity" { nativeBuildInputs = [ wprs ]; } ''
- ${wprs}/bin/wprs -h > /dev/null && touch $out
- '';
-
- meta = with lib; {
- description = "rootless remote desktop access for remote Wayland";
- license = licenses.asl20;
- maintainers = with maintainers; [ mksafavi ];
- platforms = [ "x86_64-linux" ]; # The aarch64-linux support is not implemented in upstream yet. Also, the darwin platform is not supported as it requires wayland.
- homepage = "https://github.com/wayland-transpositor/wprs";
- mainProgram = "wprs";
- };
-}
diff --git a/unorganized/shell-modules/default.nix b/unorganized/shell-modules/default.nix
deleted file mode 100644
index 8c70eb9..0000000
--- a/unorganized/shell-modules/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- nixpkgs,
- flake-utils,
- ...
-}:
-
-let
- imports = [
- ./shell.nix
- ./languages/python.nix
- ./languages/rust.nix
- ./utilities/cuda.nix
- ./utilities/jupyter.nix
- ];
-in
-{
-
- mkShell =
- attrs:
- (flake-utils.lib.eachDefaultSystem (
- system:
- let
- pkgs = import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- };
- evaluated =
- (nixpkgs.lib.evalModules {
- modules = [ attrs ] ++ imports;
- specialArgs = {
- pkgs = pkgs;
- };
- }).config;
- recUpdate = nixpkgs.lib.recursiveUpdate;
- libPackages = evaluated.libPackages pkgs;
- shell = recUpdate {
- env =
- evaluated.env
- // (
- if (libPackages != [ ]) then
- {
- LD_LIBRARY_PATH = nixpkgs.lib.makeLibraryPath libPackages;
- }
- else
- { }
- );
- packages = evaluated.packages ++ (evaluated.extraPackages pkgs) ++ libPackages;
- } evaluated.override;
- in
- {
- devShells.default = pkgs.mkShell shell;
- }
- ));
-}
diff --git a/unorganized/shell-modules/languages/python.nix b/unorganized/shell-modules/languages/python.nix
deleted file mode 100644
index e312b1c..0000000
--- a/unorganized/shell-modules/languages/python.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- packages = config.python.packages;
- pythonPackage = pkgs.python3.withPackages packages;
-in
-{
- options.python = {
- enable = mkEnableOption "Python";
- packages = mkOption {
- type = types.functionTo (types.listOf types.package) // {
- merge =
- loc: defs: p:
- lib.concatMap (def: (def.value p)) defs;
- };
- default = p: [ ];
- description = "Python packages to install";
- };
- # TODO: Add option to directly read from requirements.txt, maybe with mach-nix
- };
-
- config = mkIf config.python.enable {
- packages = [
- pythonPackage
- ];
-
- env.PYTHONINTERPRETER = "${pythonPackage}/bin/python";
- };
-}
diff --git a/unorganized/shell-modules/languages/rust.nix b/unorganized/shell-modules/languages/rust.nix
deleted file mode 100644
index cb1c3cd..0000000
--- a/unorganized/shell-modules/languages/rust.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- rustPackage = pkgs.rustc;
-in
-{
- options.rust = {
- enable = mkEnableOption "Rust";
- # TODO: Add option to specify toolchain file
- # See https://ayats.org/blog/nix-rustup
- };
-
- config = mkIf config.rust.enable {
- packages = with pkgs; [
- rustPackage
- cargo
- clippy
- rustfmt
- cargo-audit
-
- bacon
- evcxr
-
- # TODO: Might be needed for bindgen
- # rustPlatform.bindgenHook
- # pkg-config
- ];
-
- # env.RUST_SRC_PATH = "${rustPackage}/lib/rustlib/src/rust/library";
- };
-}
diff --git a/unorganized/shell-modules/shell.nix b/unorganized/shell-modules/shell.nix
deleted file mode 100644
index 27981b7..0000000
--- a/unorganized/shell-modules/shell.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ lib, ... }:
-
-with lib;
-{
- options = {
- env = mkOption {
- type = types.attrsOf types.str;
- default = { };
- };
-
- packages = mkOption {
- type = types.listOf types.package;
- default = [ ];
- description = "Packages to install";
- };
-
- extraPackages = mkOption {
- type = types.functionTo (types.listOf types.package) // {
- merge =
- loc: defs: p:
- lib.concatMap (def: (def.value p)) defs;
- };
- default = p: [ ];
- description = "Extra packages to install";
- };
-
- libPackages = mkOption {
- type = types.functionTo (types.listOf types.package) // {
- merge =
- loc: defs: p:
- lib.concatMap (def: (def.value p)) defs;
- };
- default = p: [ ];
- description = "Packages to install and add to library path";
- };
-
- override = mkOption {
- type = types.attrs;
- default = { };
- description = "Settings in the mkShell call to override";
- };
- };
-}
diff --git a/unorganized/shell-modules/utilities/cuda.nix b/unorganized/shell-modules/utilities/cuda.nix
deleted file mode 100644
index 91748d8..0000000
--- a/unorganized/shell-modules/utilities/cuda.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-{
- options.cuda = {
- enable = mkEnableOption "CUDA";
- };
-
- config = mkIf config.cuda.enable {
- };
-}
diff --git a/unorganized/shell-modules/utilities/jupyter.nix b/unorganized/shell-modules/utilities/jupyter.nix
deleted file mode 100644
index 3c9589d..0000000
--- a/unorganized/shell-modules/utilities/jupyter.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-{
- options.jupyter = {
- enable = mkEnableOption "Jupyter";
- };
-
- config = mkIf config.jupyter.enable {
- python.enable = mkDefault true;
- python.packages =
- p: with p; [
- jupyter
- notebook
- ipykernel
- ];
- };
-}
diff --git a/unorganized/user-modules/bluetuith/default.nix b/unorganized/user-modules/bluetuith/default.nix
deleted file mode 100644
index 4c986fd..0000000
--- a/unorganized/user-modules/bluetuith/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.bluetuith;
-in
-{
- options.modules.bluetuith = {
- enable = mkEnableOption "bluetuith";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [ bluetuith ];
-
- # Add nix tree
- xdg.desktopEntries.bluetuith = {
- exec = "${pkgs.bluetuith}/bin/bluetuith";
- name = "Bluetuith";
- terminal = true;
- type = "Application";
- };
- };
-}
diff --git a/unorganized/user-modules/browser/default.nix b/unorganized/user-modules/browser/default.nix
deleted file mode 100644
index 2443a80..0000000
--- a/unorganized/user-modules/browser/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-{
- imports = [
- ./firefox/default.nix
- ./qutebrowser/default.nix
- ];
-
- options.default.browser = mkOption {
- type = types.str;
- default = "";
- description = "Default browser";
- };
-
- config = {
- xdg.mimeApps = {
- enable = true;
-
- defaultApplications = {
- "text/html" = "${config.default.browser}";
- "x-scheme-handler/http" = "${config.default.browser}";
- "x-scheme-handler/https" = "${config.default.browser}";
- "x-scheme-handler/about" = "${config.default.browser}";
- "x-scheme-handler/unknown" = "${config.default.browser}";
- };
- };
- };
-}
diff --git a/unorganized/user-modules/browser/firefox/default.nix b/unorganized/user-modules/browser/firefox/default.nix
deleted file mode 100644
index 7611f43..0000000
--- a/unorganized/user-modules/browser/firefox/default.nix
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.firefox;
-in
-{
- options.modules.firefox = {
- enable = lib.mkEnableOption "firefox";
- default = lib.mkEnableOption "default";
- };
-
- config = lib.mkIf cfg.enable {
- default.browser = mkIf cfg.default "firefox.desktop";
-
- programs.firefox = {
- enable = true;
-
- policies = {
- AppAutoUpdate = false;
- BlockAboutAddons = false;
- BlockAboutConfig = true;
- BlockAboutProfiles = true;
- DisableAppUpdate = true;
- DisableFeedbackCommands = true;
- DisableMasterPasswordCreation = true;
- DisablePocket = true;
- DisableProfileImport = true;
- DisableProfileRefresh = true;
- DisableSetDesktopBackground = true;
- DisableTelemetry = true;
- DisplayBookmarksToolbar = "never";
- DisplayMenuBar = "never";
- DNSOverHTTPS = {
- Enabled = false;
- };
- DontCheckDefaultBrowser = true;
- PasswordManagerEnabled = false;
- TranslateEnabled = true;
- UseSystemPrintDialog = true;
- };
-
- profiles.nixos = {
- search.default = "ddg";
-
- extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- ];
-
- # Theming
- userChrome = readFile (
- pkgs.replaceVars ./userChrome.css {
- colors = config.desktop.theming.colorsCSS;
- }
- );
-
- settings = {
- "browser.tabs.inTitlebar" = 0;
- "extensions.autoDisableScopes" = 0;
- "devtools.chrome.enabled" = true;
- "devtools.debugger.remote-enabled" = true;
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- };
-
- # Force overwriting configuration file
- search.force = true;
- containersForce = true;
- };
- };
- };
-}
diff --git a/unorganized/user-modules/browser/firefox/userChrome.css b/unorganized/user-modules/browser/firefox/userChrome.css
deleted file mode 100644
index 821ba92..0000000
--- a/unorganized/user-modules/browser/firefox/userChrome.css
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Import theme colors */
-@colors@
-
-/* Configure titlebar */
-#titlebar {
- /* Add consistent margins to tab bar */
- padding: 0 2px !important;
-
- /* Add emphasized color to background of tab bar */
- background-color: var(--nix-color-bg-status) !important;
-
- /* Set correct text color */
- color: var(--nix-color-fg) !important;
-}
-
-.tab-background:is([selected], [multiselected]) {
- /* Set correct background color */
- background-color: var(--nix-color-bg) !important;
-}
-
-.tab-content {
- /* Set correct text color */
- color: var(--nix-color-fg) !important;
-}
-
-/* Configure navigation bar */
-#nav-bar {
- /* Set correct background color */
- background-color: var(--nix-color-bg) !important;
-
- /* Set correct text color */
- color: var(--nix-color-fg) !important;
-}
-
-#urlbar {
- /* Set correct text color */
- color: var(--nix-color-fg) !important;
-}
-
-#urlbar[open]>#urlbar-background {
- /* Set correct background color when opened */
- background-color: var(--nix-color-bg) !important;
-
- /* Use same box-shadow as tabs when opened */
- border: none !important;
- box-shadow: 0 0 4px rgba(0, 0, 0, .4) !important;
-}
-
-#urlbar[focused]:not([suppress-focus-border])>#urlbar-background {
- /* Set better outline for focused urlbar */
- outline-color: var(--nix-color-border-focused) !important;
- outline-width: 1px !important;
- outline-offset: 0 !important;
-}
-
-#urlbar-background {
- /* Set the correct background color */
- background-color: var(--nix-color-bg-status) !important;
-}
-
-/* Configure popups */
-panelview {
- /* Set correct background color for popups */
- background-color: var(--nix-color-bg) !important;
-
- /* Set correct text color */
- color: var(--nix-color-fg) !important;
-}
-
-menupopup {
- /* Set correct background color for context menus */
- --panel-background: var(--nix-color-bg) !important;
-}
\ No newline at end of file
diff --git a/unorganized/user-modules/browser/firefox/userContent.css b/unorganized/user-modules/browser/firefox/userContent.css
deleted file mode 100644
index e69de29..0000000
diff --git a/unorganized/user-modules/browser/qutebrowser/default.nix b/unorganized/user-modules/browser/qutebrowser/default.nix
deleted file mode 100644
index e454627..0000000
--- a/unorganized/user-modules/browser/qutebrowser/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.qutebrowser;
- theme = config.desktop.theming;
-in
-{
- options.modules.qutebrowser = {
- enable = mkEnableOption "qutebrowser";
- default = mkEnableOption "default";
- };
-
- config = mkIf cfg.enable {
- default.browser = mkIf cfg.default "org.qutebrowser.qutebrowser.desktop";
-
- programs.qutebrowser = {
- enable = true;
-
- extraConfig = ''
- config.set("completion.web_history.max_items", 256)
- config.set("colors.webpage.darkmode.enabled", False)
- config.set("colors.webpage.preferred_color_scheme", "${if theme.darkMode then "dark" else "light"}")
- config.set("fonts.default_family", "${theme.fonts.interface.name}")
- config.set("fonts.default_size", "${toString theme.fonts.interface.recommendedSize}pt")
- '';
- };
- };
-}
diff --git a/unorganized/user-modules/btop/default.nix b/unorganized/user-modules/btop/default.nix
deleted file mode 100644
index f0e1efc..0000000
--- a/unorganized/user-modules/btop/default.nix
+++ /dev/null
@@ -1,368 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.btop;
- colors = config.desktop.theming.schemeColors;
-in
-{
- options.modules.btop = {
- enable = mkEnableOption "btop";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [ btop ];
-
- xdg.configFile."btop/btop.conf" = {
- enable = true;
- text = ''
- #? Config file for btop v. 1.4.0
-
- #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
- #* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
- color_theme = "nixos"
-
- #* If the theme set background should be shown, set to False if you want terminal background transparency.
- theme_background = True
-
- #* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
- truecolor = True
-
- #* Set to true to force tty mode regardless if a real tty has been detected or not.
- #* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
- force_tty = False
-
- #* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
- #* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
- #* Use whitespace " " as separator between different presets.
- #* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
- presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
-
- #* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
- #* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
- vim_keys = False
-
- #* Rounded corners on boxes, is ignored if TTY mode is ON.
- rounded_corners = False
-
- #* Default symbols to use for graph creation, "braille", "block" or "tty".
- #* "braille" offers the highest resolution but might not be included in all fonts.
- #* "block" has half the resolution of braille but uses more common characters.
- #* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
- #* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
- graph_symbol = "braille"
-
- # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
- graph_symbol_cpu = "default"
-
- # Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
- graph_symbol_gpu = "default"
-
- # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
- graph_symbol_mem = "default"
-
- # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
- graph_symbol_net = "default"
-
- # Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
- graph_symbol_proc = "default"
-
- #* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
- shown_boxes = "cpu net proc mem"
-
- #* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
- update_ms = 500
-
- #* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
- #* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
- proc_sorting = "cpu lazy"
-
- #* Reverse sorting order, True or False.
- proc_reversed = False
-
- #* Show processes as a tree.
- proc_tree = False
-
- #* Use the cpu graph colors in the process list.
- proc_colors = True
-
- #* Use a darkening gradient in the process list.
- proc_gradient = True
-
- #* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
- proc_per_core = False
-
- #* Show process memory as bytes instead of percent.
- proc_mem_bytes = True
-
- #* Show cpu graph for each process.
- proc_cpu_graphs = True
-
- #* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
- proc_info_smaps = False
-
- #* Show proc box on left side of screen instead of right.
- proc_left = False
-
- #* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
- proc_filter_kernel = False
-
- #* In tree-view, always accumulate child process resources in the parent process.
- proc_aggregate = False
-
- #* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
- #* Select from a list of detected attributes from the options menu.
- cpu_graph_upper = "Auto"
-
- #* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
- #* Select from a list of detected attributes from the options menu.
- cpu_graph_lower = "Auto"
-
- #* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
- show_gpu_info = "Auto"
-
- #* Toggles if the lower CPU graph should be inverted.
- cpu_invert_lower = True
-
- #* Set to True to completely disable the lower CPU graph.
- cpu_single_graph = False
-
- #* Show cpu box at bottom of screen instead of top.
- cpu_bottom = False
-
- #* Shows the system uptime in the CPU box.
- show_uptime = True
-
- #* Show cpu temperature.
- check_temp = True
-
- #* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
- cpu_sensor = "Auto"
-
- #* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
- show_coretemp = True
-
- #* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
- #* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
- #* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
- #* Example: "4:0 5:1 6:3"
- cpu_core_map = ""
-
- #* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
- temp_scale = "celsius"
-
- #* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
- base_10_sizes = False
-
- #* Show CPU frequency.
- show_cpu_freq = True
-
- #* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
- #* Special formatting: /host = hostname | /user = username | /uptime = system uptime
- clock_format = "%X"
-
- #* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
- background_update = True
-
- #* Custom cpu model name, empty string to disable.
- custom_cpu_name = ""
-
- #* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
- #* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
- disks_filter = ""
-
- #* Show graphs instead of meters for memory values.
- mem_graphs = True
-
- #* Show mem box below net box instead of above.
- mem_below_net = False
-
- #* Count ZFS ARC in cached and available memory.
- zfs_arc_cached = True
-
- #* If swap memory should be shown in memory box.
- show_swap = True
-
- #* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
- swap_disk = True
-
- #* If mem box should be split to also show disks info.
- show_disks = True
-
- #* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
- only_physical = True
-
- #* Read disks list from /etc/fstab. This also disables only_physical.
- use_fstab = True
-
- #* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
- zfs_hide_datasets = False
-
- #* Set to true to show available disk space for privileged users.
- disk_free_priv = False
-
- #* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
- show_io_stat = True
-
- #* Toggles io mode for disks, showing big graphs for disk read/write speeds.
- io_mode = True
-
- #* Set to True to show combined read/write io graphs in io mode.
- io_graph_combined = False
-
- #* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
- #* Example: "/mnt/media:100 /:20 /boot:1".
- io_graph_speeds = ""
-
- #* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
- net_download = 100
-
- net_upload = 100
-
- #* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
- net_auto = True
-
- #* Sync the auto scaling for download and upload to whichever currently has the highest scale.
- net_sync = True
-
- #* Starts with the Network Interface specified here.
- net_iface = ""
-
- #* Show battery stats in top right if battery is present.
- show_battery = False
-
- #* Which battery to use if multiple are present. "Auto" for auto detection.
- selected_battery = "Auto"
-
- #* Show power stats of battery next to charge indicator.
- show_battery_watts = True
-
- #* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
- #* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
- log_level = "WARNING"
-
- #* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
- nvml_measure_pcie_speeds = True
-
- #* Horizontally mirror the GPU graph.
- gpu_mirror_graph = True
-
- #* Custom gpu0 model name, empty string to disable.
- custom_gpu_name0 = ""
-
- #* Custom gpu1 model name, empty string to disable.
- custom_gpu_name1 = ""
-
- #* Custom gpu2 model name, empty string to disable.
- custom_gpu_name2 = ""
-
- #* Custom gpu3 model name, empty string to disable.
- custom_gpu_name3 = ""
-
- #* Custom gpu4 model name, empty string to disable.
- custom_gpu_name4 = ""
-
- #* Custom gpu5 model name, empty string to disable.
- custom_gpu_name5 = ""
- '';
- };
-
- xdg.configFile."btop/themes/nixos.theme" = {
- enable = true;
- text = with colors; ''
- # Main background, empty for terminal default, need to be empty if you want transparent background
- theme[main_bg]="#${base00}"
-
- # Main text color
- theme[main_fg]="#${base05}"
-
- # Title color for boxes
- theme[title]="#${base05}"
-
- # Highlight color for keyboard shortcuts
- theme[hi_fg]="#${base0D}"
-
- # Background color of selected item in processes box
- theme[selected_bg]="#${base03}"
-
- # Foreground color of selected item in processes box
- theme[selected_fg]="#${base0D}"
-
- # Color of inactive/disabled text
- theme[inactive_fg]="#8c8fa1"
-
- # Color of text appearing on top of graphs, i.e uptime and current network graph scaling
- theme[graph_text]="#${base06}"
-
- # Background color of the percentage meters
- theme[meter_bg]="#${base03}"
-
- # Misc colors for processes box including mini cpu graphs, details memory graph and details status text
- theme[proc_misc]="#${base06}"
-
- # CPU, Memory, Network, Proc box outline colors
- theme[cpu_box]="#${base0E}" #Mauve
- theme[mem_box]="#${base0B}" #Green
- theme[net_box]="#e64553" #Maroon
- theme[proc_box]="#${colors.base0D}" #Blue
-
- # Box divider line and small boxes line color
- theme[div_line]="#9ca0b0"
-
- # Temperature graph color (Green -> Yellow -> Red)
- theme[temp_start]="#${base0B}"
- theme[temp_mid]="#${base0A}"
- theme[temp_end]="#${base08}"
-
- # CPU graph colors (Teal -> Lavender)
- theme[cpu_start]="#${base0C}"
- theme[cpu_mid]="#209fb5"
- theme[cpu_end]="#${base07}"
-
- # Mem/Disk free meter (Mauve -> Lavender -> Blue)
- theme[free_start]="#${base0E}"
- theme[free_mid]="#${base07}"
- theme[free_end]="#${base0D}"
-
- # Mem/Disk cached meter (Sapphire -> Lavender)
- theme[cached_start]="#209fb5"
- theme[cached_mid]="#${base0D}"
- theme[cached_end]="#${base07}"
-
- # Mem/Disk available meter (Peach -> Red)
- theme[available_start]="#${base09}"
- theme[available_mid]="#e64553"
- theme[available_end]="#${base08}"
-
- # Mem/Disk used meter (Green -> Sky)
- theme[used_start]="#${base0B}"
- theme[used_mid]="#${base0C}"
- theme[used_end]="#04a5e5"
-
- # Download graph colors (Peach -> Red)
- theme[download_start]="#${base09}"
- theme[download_mid]="#e64553"
- theme[download_end]="#${base08}"
-
- # Upload graph colors (Green -> Sky)
- theme[upload_start]="#${base0B}"
- theme[upload_mid]="#${base0C}"
- theme[upload_end]="#04a5e5"
-
- # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
- theme[process_start]="#209fb5"
- theme[process_mid]="#${base07}"
- theme[process_end]="#${base0E}"
- '';
- };
-
- modules.shell.aliases = {
- top = "btop";
- };
- };
-}
diff --git a/unorganized/user-modules/default.nix b/unorganized/user-modules/default.nix
deleted file mode 100644
index 4c3ccad..0000000
--- a/unorganized/user-modules/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- ...
-}:
-
-{
- imports = [
- # Import all modules
- ./bluetuith/default.nix
- ./browser/default.nix
- ./btop/default.nix
- ./desktop/default.nix
- ./development/default.nix
- ./discord/default.nix
- ./eduvpn/default.nix
- ./feishin/default.nix
- ./fontconfig/default.nix
- ./gaming/default.nix
- ./git/default.nix
- ./keyring/default.nix
- ./mako/default.nix
- ./neovim/default.nix
- ./obsidian/default.nix
- ./rofi/default.nix
- ./rofi/rofi-rbw.nix
- ./scripts/default.nix
- ./shell/default.nix
- ./shell/bash.nix
- ./shell/fish.nix
- ./spotify/default.nix
- ./terminal/default.nix
- ./terminal/foot/default.nix
- ./vscode/default.nix
- ./whatsapp/default.nix
- ./wprs/default.nix
- ./winbox/default.nix
- ./xpra/default.nix
- ./zathura/default.nix
-
- # Import unfree helper
- ../modules/unfree/default.nix
- ];
-}
diff --git a/unorganized/user-modules/desktop/custom/bar/waybar.nix b/unorganized/user-modules/desktop/custom/bar/waybar.nix
deleted file mode 100644
index 0f719d4..0000000
--- a/unorganized/user-modules/desktop/custom/bar/waybar.nix
+++ /dev/null
@@ -1,164 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.waybar;
- theme = config.desktop.theming;
- colors = theme.colors;
-in
-{
- options.modules.waybar = {
- enable = mkEnableOption "waybar";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- pulsemixer
- playerctl
- networkmanagerapplet # TODO: Move
- ];
-
- modules.desktop.reloadScript = ''
- # if ${pkgs.procps}/bin/pgrep waybar; then
- # ${pkgs.procps}/bin/pkill waybar
- # fi
- ${pkgs.waybar}/bin/waybar &
- '';
-
- programs.waybar = {
- enable = true;
- systemd.enable = false;
- settings = {
- mainBar = {
- layer = "top";
- spacing = 16;
- modules-left = [ "river/tags" ];
- modules-center = [
- #"river/window"
- "mpris"
- ];
- modules-right = [
- "tray"
- "bluetooth"
- "network"
- "pulseaudio"
- "battery"
- "clock"
- ];
- "river/window" = {
- max-length = 50;
- };
- "river/tags" = {
- tag-labels = [
- "一"
- "二"
- "三"
- "四"
- "五"
- "六"
- "七"
- "八"
- "九"
- ];
- disable-click = false;
- };
- network = {
- tooltip = false;
- on-click = "wpa_gui";
- format-wifi = "直 {essid}"; # Spacing achieved using "Thin Space"
- format-ethernet = "TODO";
- format-disconnected = "睊";
- };
- pulseaudio = {
- tooltip = false;
- format = "{icon} {volume}%"; # Spacing achieved using "Thin Space"
- #format-muted = "";
- format-muted = "{icon} --%"; # Spacing achieved using "Thin Space"
- format-icons = {
- #headphone = "";
- #default = [ "" "" ];
- headphone = "";
- headphone-muted = "";
- default = [
- ""
- ""
- ""
- ];
- };
- };
- battery = {
- format = "{icon} {capacity}%"; # Spacing achieved using "Thin Space"
- format-charging = " {capacity}%"; # Spacing achieved using "Thin Space"
- #format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
- format-icons = [
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ""
- ];
- interval = 1;
- };
- clock = {
- #format = " {:%H:%M}";
- #format = " {:%H:%M}"; # Spacing achieved using "Thin Space"
- format = "{:%H:%M}";
- };
- mpris = {
- format = "{dynamic}";
- tooltip-format = "";
- interval = 1;
- };
- bluetooth = {
- tooltip = false;
- format = " {status}"; # Spacing achieved using "Thin Space"
- format-connected = " {device_alias}"; # Spacing achieved using "Thin Space"
- };
- };
- };
- # TODO: Replace base03 color with named color
- style = ''
- window#waybar {
- color: #${colors.fg};
- background-color: #${colors.bg};
- border-style: none none solid none;
- border-width: ${toString theme.layout.borderSize}px;
- border-color: #${colors.border-unfocused};
- font-size: 12px;
- font-family: "${theme.fonts.monospace.name}";
- }
-
- .modules-right {
- margin: 0 8px 0 0;
- }
-
- #tags button {
- color: #${theme.schemeColors.base03};
- padding: 0 5px 1px 5px;
- border-radius: 0;
- font-size: 16px;
- font-family: "wenquanyi bitmap song";
- }
-
- #tags button.occupied {
- color: #${colors.fg};
- }
-
- #tags button.focused {
- color: #${colors.accent};
- }
- '';
- };
- };
-}
diff --git a/unorganized/user-modules/desktop/custom/default.nix b/unorganized/user-modules/desktop/custom/default.nix
deleted file mode 100644
index 5274974..0000000
--- a/unorganized/user-modules/desktop/custom/default.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- lib,
- pkgs,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.desktop;
-in
-{
- imports = [
- # Import desktop environment modules
- ./bar/waybar.nix
- ./lock-screen/waylock.nix
- ./window-manager/river.nix
- ];
-
- options.modules.desktop = {
- wayland = mkEnableOption "wayland";
- # TODO: Find a nicer way to do this as this is also executed on startup
- reloadScript = mkOption {
- type = types.lines;
- default = "";
- description = "Shell script to execute after reload/rebuild.";
- };
- decorations = mkOption {
- type = types.nullOr (
- types.enum [
- "csd"
- "ssd"
- ]
- );
- default = null;
- description = "Window decorations to use.";
- };
- };
-
- config = mkIf config.desktop.enable (
- lib.recursiveUpdate
- {
- # Ensure desktop related systemd services (xdg) have access to session variables.
- systemd.user.sessionVariables = config.home.sessionVariables;
-
- home.packages = optionals cfg.wayland (
- with pkgs;
- [
- wl-clipboard
- wtype
- grim
- slurp
- ]
- );
-
- home.activation = {
- customReloadScript = lib.hm.dag.entryAfter [ "writeBoundary" ] (
- ''
- #!${pkgs.bash}/bin/bash
- ''
- + cfg.reloadScript
- );
- };
-
- # home.file.".initrc" = {
- # enable = true;
- # executable = true;
- # text =
- # ''
- # #!${pkgs.bash}/bin/bash
-
- # ''
- # + cfg.initScript;
- # };
- }
- (
- # TODO: Move to dedicated module within desktop or maybe theming?
- # if cfg.decorations == null then
- # { }
- # else
- # {
- # csd = { };
- # ssd = { };
- # }
- # ."${cfg.decorations}"
- { }
- )
- );
-}
diff --git a/unorganized/user-modules/desktop/custom/lock-screen/waylock.nix b/unorganized/user-modules/desktop/custom/lock-screen/waylock.nix
deleted file mode 100644
index f87eb1a..0000000
--- a/unorganized/user-modules/desktop/custom/lock-screen/waylock.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- lib,
- pkgs,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.waylock;
-in
-{
- options.modules.waylock = {
- enable = mkEnableOption "waylock";
- };
-
- config = mkIf cfg.enable {
- home.packages = (with pkgs; [ waylock ]);
- };
-}
diff --git a/unorganized/user-modules/desktop/custom/window-manager/river.nix b/unorganized/user-modules/desktop/custom/window-manager/river.nix
deleted file mode 100644
index 8d7d07f..0000000
--- a/unorganized/user-modules/desktop/custom/window-manager/river.nix
+++ /dev/null
@@ -1,268 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-let
- cfg = config.modules.river;
-in
-{
- options.modules.river.enable = lib.mkEnableOption "river";
-
- # osConfig = lib.mkIf cfg.enable {
- # programs.river.enable = true;
- # };
-
- config = lib.mkIf cfg.enable {
- # Set desktop type to wayland
- modules.desktop.wayland = true;
-
- # TODO: Move elsewhere and make keybindings more configurable
- modules.rofi.enable = true;
-
- # TODO: Move elsewhere
- home.packages = with pkgs; [
- brightnessctl
- river-filtile
- # owm
-
- udiskie # TODO: Move to USB module
- ];
-
- # Change desktop to execute river
- desktop.initScript = ''
- ${pkgs.river}/bin/river
- '';
-
- desktop.session.type = "wayland";
- desktop.session.desktop = "river";
-
- # TODO: Fix this
- # modules.desktop.reloadScript = ''
- # ${pkgs.river}/bin/riverctl background-color 0x${config.theming.colors.bg}
- # '';
-
- # Update background after rebuild
- # home.activation = {
- # river = lib.hm.dag.entryBetween [ "reloadSystemd" ] [ "installPackages" ] ''
- # # Close waybar
- # PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill waybar
-
- # # Kill rivertile
- # PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill rivertile
-
- # # Kill glpaper
- # PATH="${pkgs.procps}/bin:$PATH" $DRY_RUN_CMD pkill glpaper
-
- # # Restart river
- # PATH="${pkgs.river}/bin:${pkgs.systemd}/bin:${pkgs.waybar}/bin:$PATH" $DRY_RUN_CMD ~/.config/river/init
- # '';
- # };
-
- # River setup
- wayland.windowManager.river = {
- enable = true;
- xwayland.enable = false;
- systemd.enable = true;
- settings =
- let
- layout = "filtile";
- layoutOptions = "-outer-padding ${toString config.desktop.theming.layout.windowPadding} -view-padding ${toString config.desktop.theming.layout.windowPadding} -main-ratio 0.5";
- modes = [
- "normal"
- "locked"
- ];
- tags = [
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- ];
- waylockOptions = "-init-color 0x${colors.bg} -input-color 0x${colors.border-focused} -fail-color 0x${colors.bg}";
-
- colors = config.desktop.theming.colors;
-
- # Quick pow function
- pow2 = power: if power != 0 then 2 * (pow2 (power - 1)) else 1;
-
- # Modifiers
- main = "Super";
- ssm = "Super+Shift";
- sas = "Super+Alt+Shift";
- sam = "Super+Alt";
- scm = "Super+Control";
- scam = "Super+Control+Alt";
- ssc = "Super+Shift+Control";
- in
- {
- default-layout = "${layout}";
- set-repeat = "50 300";
- xcursor-theme = "BreezeX-RosePine-Linux 24";
- keyboard-layout = "-options \"caps:escape\" us";
-
- border-width = toString config.desktop.theming.layout.borderSize;
- background-color = "0x${colors.bg}";
- border-color-focused = "0x${colors.fg}";
- border-color-unfocused = "0x${colors.border-unfocused}"; # TODO: Change to use named color;
- border-color-urgent = "0x${colors.fg}";
-
- # TODO: Make a desktop options for DE applications
- spawn = [
- "\"${layout} ${layoutOptions}\""
- "waybar" # TODO: Decouple
- # TODO: Generic background options
- # "\"glpaper eDP-1 ${toString config.modules.glpaper.shader}\""
- "udiskie"
- # TODO: Should this be part of the keyring configuration directly?
- # "\"gnome-keyring-daemon --replace --components=pkcs11,secrets,ssh\""
- "wpaperd"
- ];
- map = (
- lib.attrsets.recursiveUpdate
- {
- "-repeat".normal = {
- # Basic utilities
- "${main} Q" = "close";
- "${ssm} Return" = "spawn foot";
-
- # Window focus
- "${main} J" = "focus-view next";
- "${main} K" = "focus-view previous";
-
- # Swap windows
- "${ssm} J" = "swap next";
- "${ssm} K" = "swap previous";
- "${main} Return" = "zoom";
-
- # Main ratio
- "${main} H" = "send-layout-cmd ${layout} 'main-ratio -0.05'";
- "${main} L" = "send-layout-cmd ${layout} 'main-ratio +0.05'";
-
- # Main count
- "${ssm} H" = "send-layout-cmd ${layout} 'main-count +1'";
- "${ssm} L" = "send-layout-cmd ${layout} 'main-count -1'";
-
- # Move floating windows
- "${sam} H" = "move left 100";
- "${sam} J" = "move down 100";
- "${sam} K" = "move up 100";
- "${sam} L" = "move right 100";
-
- # Resize floating windows
- "${sas} H" = "resize horizontal -100";
- "${sas} J" = "resize vertical 100";
- "${sas} K" = "resize vertical -100";
- "${sas} L" = "resize horizontal 100";
-
- # Toggle modes
- "${main} Space" = "toggle-float";
- "${main} F" = "toggle-fullscreen";
- };
- normal =
- {
- # Basic utilities
- "${ssm} E" = "exit";
- "${main} X " = "spawn \"waylock -fork-on-lock ${waylockOptions}\"";
- "${main} P" = "spawn \"rofi -show drun\"";
- "${ssm} P" = "spawn rofi-rbw";
- "${main} S" =
- "spawn \"grim -g \\\"\\\$(slurp)\\\" ~/Images/Screenshots/\\\$(date +'%s_grim.png')\"";
-
- # Tags
- "${main} 0" = "set-focused-tags ${toString (pow2 32 - 1)}";
- "${ssm} 0" = "set-view-tags ${toString (pow2 32 - 1)}";
-
- # Orientation
- "${main} Up" = "send-layout-cmd ${layout} \"main-location top\"";
- "${main} Right" = "send-layout-cmd ${layout} \"main-location right\"";
- "${main} Down" = "send-layout-cmd ${layout} \"main-location bottom\"";
- "${main} Left" = "send-layout-cmd ${layout} \"main-location left\"";
-
- # Snap floating windows
- "${scam} H" = "snap left";
- "${scam} J" = "snap down";
- "${scam} K" = "snap up";
- "${scam} L" = "snap right";
- }
- // builtins.listToAttrs (
- builtins.concatLists (
- map (tag: [
- {
- name = "${main} ${toString tag}";
- value = "set-focused-tags ${toString (pow2 (tag - 1))}";
- }
- {
- name = "${ssm} ${toString tag}";
- value = "set-view-tags ${toString (pow2 (tag - 1))}";
- }
- {
- name = "${scm} ${toString tag}";
- value = "toggle-focused-tags ${toString (pow2 (tag - 1))}";
- }
- {
- name = "${ssc} ${toString tag}";
- value = "toggle-view-tags ${toString (pow2 (tag - 1))}";
- }
- ]) tags
- )
- );
- }
- (
- builtins.listToAttrs (
- map (mode: {
- name = "${mode}";
- value = {
- # Control volume
- "None XF86AudioRaiseVolume" = "spawn \"pulsemixer --change-volume +5\"";
- "None XF86AudioLowerVolume" = "spawn \"pulsemixer --change-volume -5\"";
- "None XF86AudioMute" = "spawn \"pulsemixer --toggle-mute\"";
-
- # Control brightness
- "None XF86MonBrightnessUp" = "spawn \"brightnessctl set +5%\"";
- "None XF86MonBrightnessDown" = "spawn \"brightnessctl set 5%-\"";
-
- # Control music playback
- "None XF86Messenger" = "spawn \"playerctl previous\"";
- "None XF86Go" = "spawn \"playerctl play-pause\"";
- "None Cancel" = "spawn \"playerctl next\"";
- };
- }) modes
- )
- )
- );
- map-pointer = {
- normal = {
- "${main} BTN_LEFT" = "move-view";
- "${main} BTN_RIGHT" = "resize-view";
- "${main} BTN_MIDDLE" = "toggle-float";
- };
- };
- input = {
- "'*'" = {
- accel-profile = "adaptive";
- pointer-accel = "0.5";
- scroll-factor = "0.8";
- };
- "'*Synaptics*'" = {
- natural-scroll = "enabled";
- };
- };
- rule-add = {
- "-app-id" = {
- "'bar'" = "csd";
- "'*'" = "ssd";
- "'wpa_gui'" = "float";
- "'Xpra'" = "float";
- };
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/desktop/default.nix b/unorganized/user-modules/desktop/default.nix
deleted file mode 100644
index 3441b9e..0000000
--- a/unorganized/user-modules/desktop/default.nix
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- # Desktop configuration module
- desktopConfigurationModule = types.submodule {
- options = {
- name = mkOption {
- type = types.str;
- description = "Desktop environment name.";
- };
- type = mkOption {
- type = types.enum [
- "custom"
- "gnome"
- ];
- description = "Desktop environment type.";
- };
- config = mkOption {
- type = types.attrs;
- default = { };
- description = "Desktop environment configuration";
- };
- extraConfig = mkOption {
- type = types.attrs;
- default = { };
- description = "Extra configuration for the configured desktop environment";
- };
- };
- };
-
- customBuilder =
- config:
- recursiveUpdate {
- desktop.name = config.name;
- } config.extraConfig;
-
- # Environment builders
- environmentBuilders = {
- custom = customBuilder;
- };
-
- cfg = config.desktop;
-in
-{
- imports = [
- ./custom/default.nix
- ./theming/default.nix
- ];
-
- options.desktop = {
- enable = mkEnableOption "desktop";
- name = mkOption {
- type = types.str;
- default = "Shell";
- description = "Desktop configuration name.";
- };
- initScript = mkOption {
- type = types.lines;
- default = ''
- ${pkgs.ncurses}/bin/clear
- ${pkgs.bashInteractive}/bin/bash
- '';
- description = "Bash script to execute after logging in.";
- };
- session = {
- type = mkOption {
- type = types.enum [
- "wayland"
- "x11"
- "tty"
- ];
- default = "tty";
- description = "Session type.";
- };
- desktop = mkOption {
- type = types.str;
- default = "tty";
- description = "Desktop environment name.";
- };
- };
- environments = mkOption {
- type = types.attrsOf desktopConfigurationModule;
- default = { };
- description = "Desktop environments. Every environment will be built as a specialization.";
- };
- };
-
- config = mkIf cfg.enable {
- specialisation = mapAttrs (name: value: {
- configuration = (environmentBuilders."${value.type}" value);
- }) cfg.environments;
-
- # Create session files
- home.extraBuilderCommands = ''
- mkdir $out/session
- echo "${cfg.name}" > $out/session/name
- ln -s ${
- pkgs.writeTextFile {
- name = "desktop-init";
- text =
- ''
- #!${pkgs.bash}/bin/bash
-
- ''
- + cfg.initScript;
- executable = true;
- }
- } $out/session/init
- ln -s ${
- pkgs.writeTextFile {
- name = "session-env";
- text = ''
- XDG_SESSION_TYPE=${cfg.session.type}
- XDG_CURRENT_DESKTOP=${cfg.session.desktop}
- XDG_SESSION_DESKTOP=${cfg.session.desktop}
- '';
- }
- } $out/session/env
- '';
- };
-}
diff --git a/unorganized/user-modules/desktop/systemwide.nix b/unorganized/user-modules/desktop/systemwide.nix
deleted file mode 100644
index 399c4dc..0000000
--- a/unorganized/user-modules/desktop/systemwide.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- waylock = {
- security.pam.services.waylock = { };
- };
- river = {
- programs.river.enable = true;
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/background.nix b/unorganized/user-modules/desktop/theming/background.nix
deleted file mode 100644
index 0032059..0000000
--- a/unorganized/user-modules/desktop/theming/background.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.background;
-in
-{
- options.desktop.theming.background = {
- image = {
- url = mkOption {
- type = types.str;
- default = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png";
- description = "URL to the background image.";
- };
- hash = mkOption {
- type = types.str;
- default = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ=";
- description = "SHA256 hash of the background image.";
- };
- };
- themed = mkEnableOption "themed background";
- inverted = mkEnableOption "invert background";
- };
-
- config =
- with pkgs;
- let
- src = pkgs.fetchurl {
- url = cfg.image.url;
- hash = cfg.image.hash;
- };
-
- theme = writeTextFile {
- name = "gowall-theme";
- text = builtins.toJSON {
- name = "NixOS";
- colors =
- let
- colors = config.desktop.theming.schemeColors;
- in
- [
- "#${colors.base00}"
- "#${colors.base01}"
- "#${colors.base02}"
- "#${colors.base03}"
- "#${colors.base04}"
- "#${colors.base05}"
- "#${colors.base06}"
- "#${colors.base07}"
- "#${colors.base08}"
- "#${colors.base09}"
- "#${colors.base0A}"
- "#${colors.base0B}"
- "#${colors.base0C}"
- "#${colors.base0D}"
- "#${colors.base0E}"
- "#${colors.base0F}"
- ];
- };
- executable = true;
- };
-
- fileExtension =
- name:
- let
- parts = splitString "." name;
- in
- if length parts > 1 then lists.last parts else "";
-
- fileName =
- name:
- let
- parts = splitString "/" name;
- in
- if length parts > 1 then lists.last parts else name;
-
- image = fileName cfg.image.url;
-
- background-themed = stdenv.mkDerivation {
- name = "background-themed-1.0.0";
- src = src;
-
- buildInputs = [
- gowall
- imagemagick
- (writeShellScriptBin "xdg-open" "")
- tree
- ];
-
- unpackPhase = ''
- cp ${src} ./${image}
- chmod u+w ./${image}
- '';
-
- buildPhase = ''
- ${optionalString cfg.inverted ''
- convert ./${image} -channel RGB -negate ./${image}
- ''}
- ${optionalString cfg.themed ''
- cp ${theme} ./theme.json
-
- export HOME=$PWD
-
- gowall convert ./${image} --output themed -t ./theme.json
- tree
- mv ./themed/*.* ./
- ''}
- mv ./${image} themed.${fileExtension image}
- ${optionalString (fileExtension image != "png") ''
- mogrify -format png themed.*
- ''}
- '';
-
- installPhase = ''
- install -Dm644 -t $out themed.png
- '';
- };
- in
- {
- services.wpaperd = {
- enable = true;
- settings.default = {
- path = "${background-themed}/";
- mode = "center";
- };
- };
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/colors.nix b/unorganized/user-modules/desktop/theming/colors.nix
deleted file mode 100644
index 70fc854..0000000
--- a/unorganized/user-modules/desktop/theming/colors.nix
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming;
-in
-{
- imports = [
- # Import all themes
- ./themes/catppuccin.nix
- ./themes/gruvbox.nix
- ./themes/oxocarbon.nix
- ./themes/papercolor.nix
- ./themes/sakura.nix
- ./themes/nord.nix
- ];
-
- options.desktop.theming =
- let
- colors = config.desktop.theming.schemeColors;
- in
- {
- darkMode = mkOption {
- type = types.bool;
- default = false;
- example = true;
- description = "Whether the app should use dark mode.";
- };
-
- colorScheme = mkOption {
- type = types.nullOr types.str;
- default = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
- description = "Base 16 color scheme to use for styling. See stylix documentation for more information.";
- };
-
- schemeColors = mkOption {
- type = types.attrsOf types.anything;
- default = config.lib.stylix.colors;
- description = "Generated colors from scheme";
- };
-
- colors = {
- bg = mkOption {
- type = types.str;
- default = colors.base00;
- };
- fg = mkOption {
- type = types.str;
- default = colors.base05;
- };
- bg-status = mkOption {
- type = types.str;
- default = colors.base01;
- };
- fg-status = mkOption {
- type = types.str;
- default = colors.base04;
- };
- bg-selection = mkOption {
- type = types.str;
- default = colors.base02;
- };
- bg-highlight = mkOption {
- type = types.str;
- default = colors.base03;
- };
- fg-search = mkOption {
- type = types.str;
- default = colors.base0A;
- };
- accent = mkOption {
- type = types.str;
- default = colors.base0E;
- };
- border-focused = mkOption {
- type = types.str;
- default = cfg.colors.fg;
- };
- border-unfocused = mkOption {
- type = types.str;
- default = cfg.colors.bg-selection;
- };
- };
-
- colorsCSS = mkOption {
- type = types.lines;
- default =
- ":root {\n"
- + concatStrings (
- map (color: " --nix-color-${color.name}: #${color.value};\n") (attrsToList cfg.colors)
- )
- + "}\n\n";
- description = "Colors as css variables";
- };
- };
-
- config = {
- # Configure gnome theme
- dconf.settings = mkIf config.desktop.enable {
- "org/gnome/desktop/interface" = {
- color-scheme = if cfg.darkMode then "prefer-dark" else "prefer-light";
- };
- };
-
- # Configure qt theme
- qt = mkIf config.desktop.enable {
- enable = true;
- platformTheme.name = "gtk";
- style = {
- name = if cfg.darkMode then "adwaita-dark" else "adwaita-light";
- package = pkgs.adwaita-qt;
- };
- };
-
- # Configure gtk theme
- gtk = mkIf config.desktop.enable {
- enable = true;
- theme = {
- name = if cfg.darkMode then "Adwaita-dark" else "Adwaita-light";
- package = pkgs.gnome-themes-extra;
- };
- };
-
- # TODO: This should just straight up not be here
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
- };
- modules.git.ignores = [
- ".direnv"
- ];
-
- # Enable stylix
- # TODO: Move to own module
- stylix = {
- enable = true;
- autoEnable = false;
-
- targets = {
- foot.enable = true;
- nixvim.enable = true;
- qutebrowser.enable = true;
- vscode = {
- enable = true;
- profileNames = [ "default" ];
- };
- zathura.enable = true;
- };
-
- base16Scheme = cfg.colorScheme;
- polarity = if cfg.darkMode then "dark" else "light";
- };
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/default.nix b/unorganized/user-modules/desktop/theming/default.nix
deleted file mode 100644
index f61fff3..0000000
--- a/unorganized/user-modules/desktop/theming/default.nix
+++ /dev/null
@@ -1,241 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming;
-
- # Font module type
- fontModule = types.submodule {
- options = {
- name = mkOption {
- type = types.str;
- description = "Font family name.";
- };
- package = mkOption {
- type = types.anything;
- description = "Font package";
- };
- recommendedSize = mkOption {
- type = types.nullOr types.int;
- default = null;
- description = "Recommended size for displaying this font.";
- };
- fallbackFonts = mkOption {
- type = types.listOf types.str;
- default = [ ];
- description = "Fallback fonts for specified font.";
- };
- };
- };
-
- fontModules = [
- # Import all fonts
- ./fonts/adwaita-mono.nix
- ./fonts/adwaita-sans.nix
- ./fonts/cozette-vector.nix
- ./fonts/cozette.nix
- ./fonts/dejavu-sans.nix
- ./fonts/dejavu-serif.nix
- ./fonts/dina.nix
- ./fonts/fira-code.nix
- ./fonts/nerd-fonts-symbols.nix
- ./fonts/noto-color-emoji.nix
- ./fonts/wqy-bitmapsong.nix
- ./fonts/wqy-microhei-mono.nix
- ./fonts/wqy-microhei.nix
- ./fonts/wqy-zenhei-mono.nix
- ./fonts/wqy-zenhei-sharp.nix
- ./fonts/wqy-zenhei.nix
- ];
-
- # Gather enabled fonts.
- enabledFonts = [
- cfg.fonts.serif.name
- cfg.fonts.sansSerif.name
- cfg.fonts.monospace.name
- cfg.fonts.emoji.name
- ] ++ map (font: font.name) cfg.fonts.extraFonts;
-
- # Flatten dependencies of fonts
- fontPackages =
- converge
- (
- fonts:
- listToAttrs (
- map
- (font: {
- name = font;
- value = true;
- })
- (
- flatten (map (font: [ font.name ] ++ cfg.fonts.pkgs.${font.name}.fallbackFonts) (attrsToList fonts))
- )
- )
- )
- (
- listToAttrs (
- map (font: {
- name = font;
- value = true;
- }) enabledFonts
- )
- );
-
- # Convert set of fonts to list of packages
- fontNameList = map (font: font.name) (attrsToList fontPackages);
- fontPackageList = map (font: cfg.fonts.pkgs.${font}.package) fontNameList;
-in
-{
- imports = [
- ./background.nix
- ./colors.nix
- ];
-
- options.desktop.theming = {
- layout = {
- borderRadius = mkOption {
- type = types.int;
- default = 0;
- description = "Border radius of windows.";
- };
-
- borderSize = mkOption {
- type = types.int;
- default = 1;
- description = "Size of borders used throughout UI.";
- };
-
- windowPadding = mkOption {
- type = types.int;
- default = 2;
- description = "Margin of each window, actual space between windows will be twice this number.";
- };
- };
-
- fonts = {
- pkgs = mkOption {
- type = types.attrsOf fontModule;
- default = builtins.listToAttrs (
- map (module: {
- name = module.name;
- value = module;
- }) (map (module: (import module) { inherit lib config pkgs; }) fontModules)
- );
- description = "All available font modules.";
- };
-
- installed = mkOption {
- type = types.listOf types.str;
- default = fontNameList;
- description = "List of installed fonts.";
- };
-
- serif = mkOption {
- type = fontModule;
- description = "Default serif font";
- };
-
- sansSerif = mkOption {
- type = fontModule;
- description = "Default sansSerif font.";
- };
-
- monospace = mkOption {
- type = fontModule;
- description = "Default monospace font.";
- };
-
- emoji = mkOption {
- type = fontModule;
- description = "Default emoji font.";
- };
-
- interface = mkOption {
- type = fontModule;
- description = "Default emoji font.";
- };
-
- extraFonts = mkOption {
- type = types.listOf fontModule;
- default = [ ];
- description = "Additional fonts to install.";
- };
- };
- };
-
- config = mkIf config.desktop.enable {
- # Enable fontconfig
- modules.fontconfig.enable = true;
-
- # Install configured fonts
- home.packages = fontPackageList;
-
- # Configure gtk theme
- gtk =
- let
- disableCSD = ''
- headerbar.default-decoration {
- margin-bottom: 50px;
- margin-top: -100px;
- }
- window.csd,
- window.csd decoration {
- box-shadow: none;
- }
- '';
- in
- {
- enable = true;
- # TODO: Toggles
- gtk3.extraCss = mkIf config.modules.river.enable disableCSD;
- gtk4.extraCss = mkIf config.modules.river.enable disableCSD;
- };
-
- # TODO: Make cursors configurable using modules.
- home.pointerCursor = {
- gtk.enable = true;
- name = lib.mkForce "BreezeX-RosePine-Linux";
- package = lib.mkForce pkgs.rose-pine-cursor;
- size = lib.mkForce 24;
- x11 = {
- defaultCursor = lib.mkForce "BreezeX-RosePine-Linux";
- enable = true;
- };
- };
-
- # Enable stylix
- # TODO: Move to own module
- stylix = {
- fonts = {
- serif = getAttrs [
- "name"
- "package"
- ] cfg.fonts.serif;
- sansSerif = getAttrs [
- "name"
- "package"
- ] cfg.fonts.sansSerif;
- monospace = getAttrs [
- "name"
- "package"
- ] cfg.fonts.monospace;
- emoji = getAttrs [
- "name"
- "package"
- ] cfg.fonts.emoji;
-
- sizes = {
- applications = mkDefault cfg.fonts.serif.recommendedSize;
- desktop = mkDefault cfg.fonts.monospace.recommendedSize; # TODO: See below
- popups = mkDefault cfg.fonts.monospace.recommendedSize; # TODO: Add dedicated UI font
- terminal = mkDefault cfg.fonts.monospace.recommendedSize;
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/adwaita-mono.nix b/unorganized/user-modules/desktop/theming/fonts/adwaita-mono.nix
deleted file mode 100644
index ccbd09b..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/adwaita-mono.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Adwaita Mono";
- package = pkgs.adwaita-fonts;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/adwaita-sans.nix b/unorganized/user-modules/desktop/theming/fonts/adwaita-sans.nix
deleted file mode 100644
index 4d89a97..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/adwaita-sans.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Adwaita Sans";
- package = pkgs.adwaita-fonts;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/cozette-vector.nix b/unorganized/user-modules/desktop/theming/fonts/cozette-vector.nix
deleted file mode 100644
index c29c378..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/cozette-vector.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Cozette Vector";
- package = pkgs.cozette;
- recommendedSize = 9;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/cozette.nix b/unorganized/user-modules/desktop/theming/fonts/cozette.nix
deleted file mode 100644
index 73cff7f..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/cozette.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Cozette";
- package = pkgs.cozette;
- recommendedSize = 9;
- fallbackFonts = [ "Cozette Vector" ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/dejavu-sans.nix b/unorganized/user-modules/desktop/theming/fonts/dejavu-sans.nix
deleted file mode 100644
index 8b1d5f4..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/dejavu-sans.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "DejaVu Sans";
- package = pkgs.dejavu_fonts;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/dejavu-serif.nix b/unorganized/user-modules/desktop/theming/fonts/dejavu-serif.nix
deleted file mode 100644
index 66e723e..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/dejavu-serif.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "DejaVu Serif";
- package = pkgs.dejavu_fonts;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/dina.nix b/unorganized/user-modules/desktop/theming/fonts/dina.nix
deleted file mode 100644
index 35d356d..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/dina.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Dina";
- package = pkgs.dina-font;
- recommendedSize = 9;
- fallbackFonts = [
- "Cozette"
- "wenquanyi bitmap song"
- "Symbols Nerd Font Mono"
- ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/fira-code.nix b/unorganized/user-modules/desktop/theming/fonts/fira-code.nix
deleted file mode 100644
index 63deb5c..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/fira-code.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Fira Code";
- package = pkgs.fira-code;
- recommendedSize = 12;
- fallbackFonts = [ "Symbols Nerd Font Mono" ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/nerd-fonts-symbols.nix b/unorganized/user-modules/desktop/theming/fonts/nerd-fonts-symbols.nix
deleted file mode 100644
index 9ceec47..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/nerd-fonts-symbols.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Symbols Nerd Font Mono";
- package = pkgs.nerd-fonts.symbols-only;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/noto-color-emoji.nix b/unorganized/user-modules/desktop/theming/fonts/noto-color-emoji.nix
deleted file mode 100644
index 7aab05c..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/noto-color-emoji.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "Noto Color Emoji";
- package = pkgs.noto-fonts-color-emoji;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-bitmapsong.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-bitmapsong.nix
deleted file mode 100644
index 61fde6d..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-bitmapsong.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "wenquanyi bitmap song";
- package = pkgs.wqy-bitmapsong;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-microhei-mono.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-microhei-mono.nix
deleted file mode 100644
index bbbfb81..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-microhei-mono.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "WenQuanYi Micro Hei Mono";
- package = pkgs.wqy-microhei;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-microhei.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-microhei.nix
deleted file mode 100644
index acc61a4..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-microhei.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "WenQuanYi Micro Hei";
- package = pkgs.wqy-microhei;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-mono.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-mono.nix
deleted file mode 100644
index 2d575c6..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-mono.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "WenQuanYi Zen Hei Mono";
- package = pkgs.wqy-zenhei;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-sharp.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-sharp.nix
deleted file mode 100644
index 9c8dbd6..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei-sharp.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "WenQuanYi Zen Hei Sharp";
- package = pkgs.wqy-zenhei;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei.nix b/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei.nix
deleted file mode 100644
index 3f7e39e..0000000
--- a/unorganized/user-modules/desktop/theming/fonts/wqy-zenhei.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- name = "WenQuanYi Zen Hei";
- package = pkgs.wqy-zenhei;
- recommendedSize = 12;
- fallbackFonts = [ ];
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/catppuccin.nix b/unorganized/user-modules/desktop/theming/themes/catppuccin.nix
deleted file mode 100644
index 91faa44..0000000
--- a/unorganized/user-modules/desktop/theming/themes/catppuccin.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.catppuccin;
-in
-{
- options = {
- desktop.theming.themes.catppuccin = {
- enable = mkEnableOption "catppuccin";
- flavor = mkOption {
- type = types.enum [
- "latte"
- "frappe"
- "macchiato"
- "mocha"
- ];
- default = "mocha";
- description = "The flavor of catppuccin theme.";
- };
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = (cfg.flavor != "latte");
- colorScheme = "${pkgs.base16-schemes}/share/themes/catppuccin-${cfg.flavor}.yaml";
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/gruvbox.nix b/unorganized/user-modules/desktop/theming/themes/gruvbox.nix
deleted file mode 100644
index 683fcaa..0000000
--- a/unorganized/user-modules/desktop/theming/themes/gruvbox.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.gruvbox;
- mode = if cfg.darkMode then "dark" else "light";
-in
-{
- options = {
- desktop.theming.themes.gruvbox = {
- enable = mkEnableOption "gruvbox-hard";
- darkMode = mkEnableOption "dark mode";
- contrast = mkOption {
- type = types.enum [
- "hard"
- "medium"
- "soft"
- ];
- default = "hard";
- description = "The contrast level of the theme.";
- };
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = cfg.darkMode;
- colorScheme = "${pkgs.base16-schemes}/share/themes/gruvbox-${mode}-${cfg.contrast}.yaml";
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/nord.nix b/unorganized/user-modules/desktop/theming/themes/nord.nix
deleted file mode 100644
index 4287ccb..0000000
--- a/unorganized/user-modules/desktop/theming/themes/nord.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.nord;
- mode = if cfg.darkMode then "" else "-light";
-in
-{
- options = {
- desktop.theming.themes.nord = {
- enable = mkEnableOption "nord";
- darkMode = mkEnableOption "dark mode";
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = cfg.darkMode;
- colorScheme = "${pkgs.base16-schemes}/share/themes/nord${mode}.yaml";
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/oxocarbon.nix b/unorganized/user-modules/desktop/theming/themes/oxocarbon.nix
deleted file mode 100644
index 1bfccbc..0000000
--- a/unorganized/user-modules/desktop/theming/themes/oxocarbon.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.oxocarbon;
- mode = if cfg.darkMode then "dark" else "light";
-in
-{
- options = {
- desktop.theming.themes.oxocarbon = {
- enable = mkEnableOption "oxocarbon";
- darkMode = mkEnableOption "dark mode";
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = cfg.darkMode;
- colorScheme = "${pkgs.base16-schemes}/share/themes/oxocarbon-${mode}.yaml";
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/papercolor.nix b/unorganized/user-modules/desktop/theming/themes/papercolor.nix
deleted file mode 100644
index c0005ae..0000000
--- a/unorganized/user-modules/desktop/theming/themes/papercolor.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.papercolor;
- mode = if cfg.darkMode then "dark" else "light";
-in
-{
- options = {
- desktop.theming.themes.papercolor = {
- enable = mkEnableOption "papercolor";
- darkMode = mkEnableOption "dark mode";
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = cfg.darkMode;
- colorScheme = "${pkgs.base16-schemes}/share/themes/papercolor-${mode}.yaml";
- };
-}
diff --git a/unorganized/user-modules/desktop/theming/themes/sakura.nix b/unorganized/user-modules/desktop/theming/themes/sakura.nix
deleted file mode 100644
index 8492edd..0000000
--- a/unorganized/user-modules/desktop/theming/themes/sakura.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.desktop.theming.themes.sakura;
-in
-{
- options = {
- desktop.theming.themes.sakura = {
- enable = mkEnableOption "sakura";
- };
- };
-
- config.desktop.theming = mkIf cfg.enable {
- darkMode = false;
- colorScheme = "${pkgs.base16-schemes}/share/themes/sakura.yaml";
- };
-}
diff --git a/unorganized/user-modules/development/default.nix b/unorganized/user-modules/development/default.nix
deleted file mode 100644
index 510de54..0000000
--- a/unorganized/user-modules/development/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ ... }:
-
-{
- imports = [
- ./ide/mathematica.nix
- ./ide/matlab.nix
- # TODO: Move languages to make clear it is just IDE configuration
- # Languages should be installed with devShells, however the IDE must be configured globally
- ./language/cpp.nix
- ./language/haskell.nix
- ./language/js.nix
- ./language/jupyter.nix
- ./language/nix.nix
- ./language/python.nix
- ./language/rust.nix
- ./language/tex.nix
- ./utility/docker.nix
- ];
-}
diff --git a/unorganized/user-modules/development/ide/mathematica.nix b/unorganized/user-modules/development/ide/mathematica.nix
deleted file mode 100644
index 7ea8e88..0000000
--- a/unorganized/user-modules/development/ide/mathematica.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.mathematica;
-
- my-mathematica = pkgs.mathematica.override {
- # TODO: Just use a generic name for the installer?
- # source = ./Wolfram_14.2.1_LIN_Bndl.sh;
- };
-in
-{
- options.modules.mathematica = {
- enable = mkEnableOption "mathematica";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [
- "mathematica"
- ];
-
- home.packages = [
- my-mathematica
- ];
- };
-}
diff --git a/unorganized/user-modules/development/ide/matlab.nix b/unorganized/user-modules/development/ide/matlab.nix
deleted file mode 100644
index d7fb723..0000000
--- a/unorganized/user-modules/development/ide/matlab.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.matlab;
-in
-{
- options.modules.matlab = {
- enable = mkEnableOption "matlab";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- matlab
- ];
-
- home.sessionVariables = {
- _JAVA_AWT_WM_NONREPARENTING = "1";
- };
- };
-}
diff --git a/unorganized/user-modules/development/language/cpp.nix b/unorganized/user-modules/development/language/cpp.nix
deleted file mode 100644
index 7e8641b..0000000
--- a/unorganized/user-modules/development/language/cpp.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.cpp;
-in
-{
- options.modules.cpp = {
- enable = mkEnableOption "cpp";
- };
-
- config = mkIf cfg.enable {
- # Allow unfree
- modules.unfree.allowedPackages = [
- "vscode-extension-ms-vscode-cpptools"
- ];
-
- # Gitignore additions
- modules.git.ignores = [
- ".ccls-cache"
- ];
-
- # Development packages
- home.packages = with pkgs; [
- gnumake
- gcc
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- ms-vscode.cpptools
- ms-vscode.cmake-tools
- ms-vscode.cpptools-extension-pack
- ];
-
- userSettings = {
- # TODO: Add setting to set the compiler, it currently needs to be set for each workspace individually
- # "C_Cpp.clang_format_fallbackStyle" = "{ BasedOnStyle: Google, IndentWidth: 4 }";
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = {
- plugins.lsp.servers.ccls.enable = true;
- };
- };
-}
diff --git a/unorganized/user-modules/development/language/haskell.nix b/unorganized/user-modules/development/language/haskell.nix
deleted file mode 100644
index abec7ee..0000000
--- a/unorganized/user-modules/development/language/haskell.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.haskell;
-in
-{
- options.modules.haskell = {
- enable = mkEnableOption "haskell";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- haskell.compiler.ghc948
- (haskell-language-server.override { supportedGhcVersions = [ "948" ]; })
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- haskell.haskell
- justusadam.language-haskell
- ];
-
- userSettings = {
- "[haskell]" = { };
- # "haskell.formattingProvider" = "fourmolu";
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = { };
- };
-}
diff --git a/unorganized/user-modules/development/language/js.nix b/unorganized/user-modules/development/language/js.nix
deleted file mode 100644
index ff38384..0000000
--- a/unorganized/user-modules/development/language/js.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.js;
-in
-{
- options.modules.js = {
- enable = mkEnableOption "js";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- nodejs
- tailwindcss
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- bradlc.vscode-tailwindcss
- ];
-
- userSettings = { };
- };
- };
-
- # Neovim configuration
- programs.nixvim = { };
- };
-}
diff --git a/unorganized/user-modules/development/language/jupyter.nix b/unorganized/user-modules/development/language/jupyter.nix
deleted file mode 100644
index 242bca7..0000000
--- a/unorganized/user-modules/development/language/jupyter.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-# TODO: Move to a module for notebooks in general
-with lib;
-let
- cfg = config.modules.jupyter;
-in
-{
- options.modules.jupyter = {
- enable = mkEnableOption "jupyter";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- # home.packages = with pkgs; [
- # evcxr
- # ];
-
- # modules.python.extraPythonPackages = p: [
- # p.jupyter
- # p.notebook
- # ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- ms-toolsai.jupyter
- ms-toolsai.jupyter-renderers
- ];
-
- userSettings = { };
- };
- };
-
- # Neovim configuration
- programs.nixvim = { };
- };
-}
diff --git a/unorganized/user-modules/development/language/nix.nix b/unorganized/user-modules/development/language/nix.nix
deleted file mode 100644
index b8fb9f8..0000000
--- a/unorganized/user-modules/development/language/nix.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.nix;
-in
-{
- options.modules.nix = {
- enable = mkEnableOption "nix";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- nix-tree
- nixfmt-rfc-style
- nixd
- ];
-
- # Add nix tree
- xdg.desktopEntries.nix-tree = {
- exec = "${pkgs.nix-tree}/bin/nix-tree";
- name = "Nix Tree";
- terminal = true;
- type = "Application";
- };
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
-
- userSettings = {
- "[nix]" = {
- "editor.tabSize" = 2;
- };
- "nix.enableLanguageServer" = true;
- "nix.serverPath" = "nixd";
- "nix.serverSettings" = {
- nixd = {
- formatting = {
- command = [ "nixfmt" ];
- };
- };
- };
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = {
-
- };
- };
-}
diff --git a/unorganized/user-modules/development/language/python.nix b/unorganized/user-modules/development/language/python.nix
deleted file mode 100644
index 1868b86..0000000
--- a/unorganized/user-modules/development/language/python.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.python;
-in
-{
- options.modules.python = {
- enable = mkEnableOption "python";
- extraPythonPackages = mkOption {
- type = types.functionTo (types.listOf types.package) // {
- merge =
- loc: defs: p:
- lib.concatMap (def: (def.value p)) defs;
- };
- default = p: [ ];
- description = "Extra Python packages to install";
- };
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = [ ];
-
- # Allow unfree
- modules.unfree.allowedPackages = [
- "vscode-extension-MS-python-vscode-pylance"
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- ms-python.python
- ms-python.debugpy
- ms-python.vscode-pylance
- ms-python.black-formatter
- ];
-
- userSettings = {
- "python.defaultInterpreterPath" = "\${env:PYTHONINTERPRETER}";
- "[python]" = {
- "editor.defaultFormatter" = "ms-python.black-formatter";
- };
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = { };
- };
-}
diff --git a/unorganized/user-modules/development/language/rust.nix b/unorganized/user-modules/development/language/rust.nix
deleted file mode 100644
index cbe7682..0000000
--- a/unorganized/user-modules/development/language/rust.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.rust;
-in
-{
- options.modules.rust = {
- enable = mkEnableOption "rust";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- # rustup
- # rustc
- # cargo
- # gcc
- # lldb
- # bacon
- # rust-analyzer
- # rustfmt
- # clippy
- # evcxr
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- rust-lang.rust-analyzer
- vadimcn.vscode-lldb
- tamasfe.even-better-toml
- serayuzgur.crates
- ];
-
- userSettings = {
- "[rust]" = {
- "editor.inlayHints.enabled" = "off";
- };
- "rust-analyzer.check.command" = "clippy";
- "rust-analyzer.showUnlinkedFileNotification" = false;
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = {
- plugins.rustaceanvim = {
- enable = true;
- };
- };
- };
-}
diff --git a/unorganized/user-modules/development/language/tex.nix b/unorganized/user-modules/development/language/tex.nix
deleted file mode 100644
index 1cbe7b9..0000000
--- a/unorganized/user-modules/development/language/tex.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.tex;
-in
-{
- options.modules.tex = {
- enable = mkEnableOption "tex";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- (texlive.combine {
- inherit (texlive) scheme-full;
- })
- ];
-
- # Pygments for minted
- modules.python.extraPythonPackages = p: [
- p.pygments
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ];
-
- userSettings = {
- "[tex]" = { };
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = {
- extraConfigVim = ''
- " Enforce latexmk
- let g:vimtex_compiler_method = 'latexmk'
-
- " Set latexmk compilation settings
- let g:vimtex_compiler_latexmk = {
- \ 'options': [
- \ '-shell-escape',
- \ '-verbose',
- \ '-file-line-error',
- \ '-synctex=1',
- \ '-interaction=nonstopmode',
- \ ],
- \}
- '';
-
- # Vimtex plugin
- plugins.vimtex = {
- enable = true;
- texlivePackage = null;
- settings = {
- view_method = "zathura";
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/development/systemwide.nix b/unorganized/user-modules/development/systemwide.nix
deleted file mode 100644
index 94f25a6..0000000
--- a/unorganized/user-modules/development/systemwide.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- docker = {
- virtualisation.docker.enable = true;
- machine.sudo-groups = [ "docker" ];
- };
-}
diff --git a/unorganized/user-modules/development/utility/docker.nix b/unorganized/user-modules/development/utility/docker.nix
deleted file mode 100644
index 5a043e8..0000000
--- a/unorganized/user-modules/development/utility/docker.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.docker;
-in
-{
- options.modules.docker = {
- enable = mkEnableOption "docker";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- docker
- docker-compose
- ];
-
- # Allow unfree
- modules.unfree.allowedPackages = [
- ];
-
- # VSCode configuration
- programs.vscode = {
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- ms-azuretools.vscode-docker
- ];
-
- userSettings = {
- };
- };
- };
-
- # Neovim configuration
- programs.nixvim = { };
- };
-}
diff --git a/unorganized/user-modules/discord/default.nix b/unorganized/user-modules/discord/default.nix
deleted file mode 100644
index fefabb3..0000000
--- a/unorganized/user-modules/discord/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.discord;
-in
-{
- options.modules.discord = {
- enable = mkEnableOption "discord";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [ "discord" ];
-
- home.packages = with pkgs; [ discord ];
- };
-}
diff --git a/unorganized/user-modules/eduvpn/default.nix b/unorganized/user-modules/eduvpn/default.nix
deleted file mode 100644
index b3b9157..0000000
--- a/unorganized/user-modules/eduvpn/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.eduvpn;
-in
-{
- options.modules.eduvpn = {
- enable = mkEnableOption "EduVPN";
- };
-
- config = mkIf cfg.enable {
- # Development packages
- home.packages = with pkgs; [
- eduvpn-client
- ];
- };
-}
diff --git a/unorganized/user-modules/feishin/default.nix b/unorganized/user-modules/feishin/default.nix
deleted file mode 100644
index eb1bfe9..0000000
--- a/unorganized/user-modules/feishin/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.feishin;
-in
-{
- options.modules.feishin.enable = mkEnableOption "feishin";
-
- config = mkIf cfg.enable {
- # TODO: Move to audioling
- home.packages = with pkgs; [ feishin ];
-
- # TODO: Remove exception once no longer required by feishin
- nixpkgs.config.permittedInsecurePackages = [
- "electron-33.4.11"
- "freeimage-3.18.0-unstable-2024-04-18"
- ];
- };
-}
diff --git a/unorganized/user-modules/flatpak/default.nix b/unorganized/user-modules/flatpak/default.nix
deleted file mode 100644
index 04410a1..0000000
--- a/unorganized/user-modules/flatpak/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-{
- options.modules.flatpak = {
- enable = mkEnableOption "flatpak";
- remotes = mkOption {
- type = types.attrsOf types.str;
- default = {
- flathub = "https://dl.flathub.org/repo/flathub.flatpakrepo";
- flathub-beta = "https://dl.flathub.org/beta-repo/flathub-beta.flatpakrepo";
- };
- description = "A set of flatpak repositories to add.";
- };
- };
-
- config = mkIf config.modules.flatpak.enable {
- services.flatpak.enableModule = true;
- services.flatpak.remotes = config.modules.flatpak.remotes;
- };
-}
diff --git a/unorganized/user-modules/flatpak/systemwide.nix b/unorganized/user-modules/flatpak/systemwide.nix
deleted file mode 100644
index 59931ec..0000000
--- a/unorganized/user-modules/flatpak/systemwide.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- flatpak = {
- # services.flatpak.enable = true;
- };
-}
diff --git a/unorganized/user-modules/fontconfig/default.nix b/unorganized/user-modules/fontconfig/default.nix
deleted file mode 100644
index 78f0d8a..0000000
--- a/unorganized/user-modules/fontconfig/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.fontconfig;
-
- aliasConfig = font: ''
-
- ${font.name}
-
-
- ${font.name}
- ${concatStrings (map (font: " ${font}\n") font.fallbackFonts)}
-
-
- '';
-
- configContent = concatStrings (
- map (
- font: aliasConfig config.desktop.theming.fonts.pkgs.${font}
- ) config.desktop.theming.fonts.installed
- );
-in
-{
- options.modules.fontconfig = {
- enable = mkEnableOption "fontconfig";
- };
-
- config = mkIf cfg.enable {
- fonts.fontconfig = {
- enable = true;
-
- defaultFonts = {
- serif = [ config.desktop.theming.fonts.serif.name ];
- sansSerif = [ config.desktop.theming.fonts.sansSerif.name ];
- monospace = [ config.desktop.theming.fonts.monospace.name ];
- emoji = [ config.desktop.theming.fonts.emoji.name ];
- };
- };
-
- home.file.".config/fontconfig/conf.d/20-family-fallbacks.conf" = {
- enable = true;
-
- # text = ''
- #
- #
-
- # ${configContent}
- #
- # '';
- text = ''
-
-
-
-
- ${configContent}
-
- '';
- };
- };
-}
diff --git a/unorganized/user-modules/gaming/default.nix b/unorganized/user-modules/gaming/default.nix
deleted file mode 100644
index 50bdeba..0000000
--- a/unorganized/user-modules/gaming/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ ... }:
-
-{
- imports = [
- ./emulators/pcsx2.nix
- ./emulators/retroarch.nix
- ./emulators/ryujinx.nix
- ./launchers/es-de.nix
- ./launchers/modrinth.nix
- ./launchers/steam.nix
- ];
-}
diff --git a/unorganized/user-modules/gaming/emulators/pcsx2.nix b/unorganized/user-modules/gaming/emulators/pcsx2.nix
deleted file mode 100644
index 2c08d8e..0000000
--- a/unorganized/user-modules/gaming/emulators/pcsx2.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.pcsx2;
-in
-{
- options.modules.pcsx2 = {
- enable = mkEnableOption "pcsx2";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- pcsx2
- ];
- };
-}
diff --git a/unorganized/user-modules/gaming/emulators/retroarch.nix b/unorganized/user-modules/gaming/emulators/retroarch.nix
deleted file mode 100644
index d1a4883..0000000
--- a/unorganized/user-modules/gaming/emulators/retroarch.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.retroarch;
-in
-{
- options.modules.retroarch = {
- enable = mkEnableOption "RetroArch";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [
- "libretro-fbalpha2012"
- "libretro-fbneo"
- "libretro-fmsx"
- "libretro-genesis-plus-gx"
- "libretro-mame2000"
- "libretro-mame2003"
- "libretro-mame2003-plus"
- "libretro-mame2010"
- "libretro-mame2015"
- "libretro-opera"
- "libretro-picodrive"
- "libretro-snes9x"
- "libretro-snes9x2002"
- "libretro-snes9x2005"
- "libretro-snes9x2005-plus"
- "libretro-snes9x2010"
- ];
-
- home.packages = with pkgs; [
- # retroarch-full
- retroarch-free
- ];
- };
-}
diff --git a/unorganized/user-modules/gaming/emulators/ryujinx.nix b/unorganized/user-modules/gaming/emulators/ryujinx.nix
deleted file mode 100644
index 4943ad8..0000000
--- a/unorganized/user-modules/gaming/emulators/ryujinx.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.ryujinx;
-in
-{
- options.modules.ryujinx = {
- enable = mkEnableOption "ryujinx";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- ryubing
- ];
-
- # TODO: Make more general
- wayland.windowManager.river.settings.rule-add."-app-id"."'Ryujinx'" = "fullscreen";
- };
-}
diff --git a/unorganized/user-modules/gaming/launchers/es-de.nix b/unorganized/user-modules/gaming/launchers/es-de.nix
deleted file mode 100644
index ed89937..0000000
--- a/unorganized/user-modules/gaming/launchers/es-de.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- lib,
- config,
- pkgs,
- system,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.es-de;
-in
-{
- options.modules.es-de = {
- enable = mkEnableOption "Emulation Station Desktop Edition";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- emulationstation-de
- ];
-
- home.sessionVariables = {
- ESDE_APPDATA_DIR = "$HOME/.config/ES-DE";
- };
-
- # TODO: Remove exception once no longer required by es-de
- nixpkgs.config.permittedInsecurePackages = [
- "freeimage-3.18.0-unstable-2024-04-18"
- ];
-
- # TODO: Remove once emulationstation-de fixes the issue
- # TODO: If not fixed, at least pin the specific commit properly
- # nixpkgs.overlays =
- # let
- # pkgs-stable = import (fetchTarball {
- # url = "https://github.com/NixOS/nixpkgs/archive/nixos-24.11.tar.gz";
- # sha256 = "1wr1xzkw7v8biqqjcr867gbpqf3kibkgly36lcnhw0glvkr1i986";
- # }) { inherit system; };
- # in
- # [
- # (final: prev: {
- # libgit2 = pkgs-stable.libgit2;
- # })
- # ];
- };
-}
diff --git a/unorganized/user-modules/gaming/launchers/modrinth.nix b/unorganized/user-modules/gaming/launchers/modrinth.nix
deleted file mode 100644
index c27c7e6..0000000
--- a/unorganized/user-modules/gaming/launchers/modrinth.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.modrinth;
-in
-{
- options.modules.modrinth = {
- enable = mkEnableOption "modrinth";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [
- "modrinth-app"
- "modrinth-app-unwrapped"
- ];
-
- home.packages = with pkgs; [
- modrinth-app
- ];
- };
-}
diff --git a/unorganized/user-modules/gaming/launchers/steam.nix b/unorganized/user-modules/gaming/launchers/steam.nix
deleted file mode 100644
index 182cc78..0000000
--- a/unorganized/user-modules/gaming/launchers/steam.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- config,
- lib,
- ...
-}:
-
-with lib;
-{
- options.modules.steam = {
- enable = mkEnableOption "steam";
- };
-
- config = mkIf config.modules.steam.enable {
- # Steam must be installed systemwide as of time of writing
- };
-}
diff --git a/unorganized/user-modules/gaming/systemwide.nix b/unorganized/user-modules/gaming/systemwide.nix
deleted file mode 100644
index cb5b572..0000000
--- a/unorganized/user-modules/gaming/systemwide.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- steam =
- { pkgs, ... }:
- {
- modules.unfree.allowedPackages = [
- "steam"
- "steam-original"
- "steam-unwrapped"
- ];
-
- programs.steam.enable = true;
-
- # Make steam create desktop entries in a subfolder
- programs.steam.package = pkgs.steam.override {
- extraBwrapArgs = [
- "--bind $HOME/.local/share/applications/Steam $HOME/.local/share/applications"
- ];
- };
- };
-}
diff --git a/unorganized/user-modules/git/default.nix b/unorganized/user-modules/git/default.nix
deleted file mode 100644
index 4c569e7..0000000
--- a/unorganized/user-modules/git/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.git;
-in
-{
- options.modules.git = {
- enable = mkEnableOption "git";
-
- user = mkOption {
- type = types.str;
- description = "Default user name to use.";
- };
-
- email = mkOption {
- type = types.str;
- description = "Default user email to use.";
- };
-
- ignores = mkOption {
- type = types.listOf types.str;
- default = [ ];
- description = "Paths to globally ignore";
- };
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- git
- lazygit
- ];
-
- programs.git = {
- enable = true;
-
- extraConfig = {
- pull = {
- rebase = false;
- };
- };
-
- userName = cfg.user;
- userEmail = cfg.email;
- ignores = cfg.ignores;
- };
- };
-}
diff --git a/unorganized/user-modules/keyring/default.nix b/unorganized/user-modules/keyring/default.nix
deleted file mode 100644
index d77dfc9..0000000
--- a/unorganized/user-modules/keyring/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.keyring;
-in
-{
- options.modules.keyring = {
- enable = mkEnableOption "keyring";
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- seahorse
- ];
- services.gnome-keyring.enable = true;
- };
-}
diff --git a/unorganized/user-modules/keyring/systemwide.nix b/unorganized/user-modules/keyring/systemwide.nix
deleted file mode 100644
index 2cb8422..0000000
--- a/unorganized/user-modules/keyring/systemwide.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- keyring = {
- services.gnome.gnome-keyring.enable = true;
- security.pam.services.greetd.enableGnomeKeyring = true;
- security.pam.services.login.enableGnomeKeyring = true;
- };
-}
diff --git a/unorganized/user-modules/languagetool/default.nix b/unorganized/user-modules/languagetool/default.nix
deleted file mode 100644
index ee727ff..0000000
--- a/unorganized/user-modules/languagetool/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ lib, config, ... }:
-
-with lib;
-{
- imports = [
- ./eloquent.nix
- ];
-
- options.modules.languagetool = {
- enable = mkEnableOption "languagetool";
- };
-
- config = mkIf config.modules.languagetool.enable {
- modules.eloquent.enable = mkDefault true;
- };
-}
diff --git a/unorganized/user-modules/languagetool/eloquent.nix b/unorganized/user-modules/languagetool/eloquent.nix
deleted file mode 100644
index 446dc02..0000000
--- a/unorganized/user-modules/languagetool/eloquent.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ lib, config, ... }:
-
-with lib;
-{
- options.modules.eloquent = {
- enable = mkEnableOption "eloquent";
- };
-
- config = mkIf config.modules.eloquent.enable {
- modules.flatpak.enable = true;
-
- services.flatpak.packages = [
- "flathub:app/re.sonny.Eloquent//stable"
- "flathub:app/org.kde.kdenlive//stable"
- ];
- };
-}
diff --git a/unorganized/user-modules/mako/default.nix b/unorganized/user-modules/mako/default.nix
deleted file mode 100644
index bea449c..0000000
--- a/unorganized/user-modules/mako/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.mako;
- theme = config.desktop.theming;
- colors = theme.colors;
-in
-{
- options.modules.mako.enable = mkEnableOption "mako";
-
- config = mkIf cfg.enable {
- services.mako = {
- enable = true;
- anchor = "top-right";
- defaultTimeout = 5000;
- backgroundColor = "#${colors.bg}ff";
- textColor = "#${colors.fg}ff";
- borderColor = "#${colors.fg}ff";
- progressColor = "#${colors.accent}ff";
- borderRadius = 0;
- borderSize = theme.layout.borderSize;
- font = "${theme.fonts.monospace.name} ${toString theme.fonts.monospace.recommendedSize}";
- };
- };
-}
diff --git a/unorganized/user-modules/neovim/default.nix b/unorganized/user-modules/neovim/default.nix
deleted file mode 100644
index 089c855..0000000
--- a/unorganized/user-modules/neovim/default.nix
+++ /dev/null
@@ -1,191 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.neovim;
- theme = config.desktop.theming;
- colors = theme.colors;
-in
-{
- options.modules.neovim = {
- enable = mkEnableOption "neovim";
- };
-
- config = mkIf cfg.enable {
- programs.nixvim = {
- enable = true;
- defaultEditor = true;
- viAlias = true;
- vimAlias = true;
-
- extraPackages = with pkgs; [ ];
-
- opts = {
- number = true;
- relativenumber = true;
-
- signcolumn = "yes";
-
- ignorecase = true;
- smartcase = true;
-
- tabstop = 4;
- shiftwidth = 4;
- softtabstop = 0;
- expandtab = true;
- smarttab = true;
-
- list = true;
- listchars = "tab:»┈«,trail:·,extends:→,precedes:←,nbsp:␣";
- };
-
- diagnostic.settings = {
- enable = true;
- signs = true;
- underline = true;
- update_in_insert = true;
- };
-
- extraConfigLua = ''
- vim.fn.sign_define("DiagnosticSignError",
- {text = "", texthl = "DiagnosticSignError"})
- vim.fn.sign_define("DiagnosticSignWarn",
- {text = "", texthl = "DiagnosticSignWarn"})
- vim.fn.sign_define("DiagnosticSignInfo",
- {text = "", texthl = "DiagnosticSignInfo"})
- vim.fn.sign_define("DiagnosticSignHint",
- {text = "💡", texthl = "DiagnosticSignHint"})
- '';
-
- keymaps = [
- # Save shortcut
- {
- action = ":update";
- key = "";
- mode = "n";
- }
- {
- action = ":update";
- key = "";
- mode = "i";
- }
-
- # Neo tree
- {
- action = ":Neotree action=focus reveal toggle";
- key = "n";
- mode = "n";
- options.silent = true;
- }
- ];
-
- autoCmd = [
- {
- desc = "Automatic formatting";
- event = "BufWritePre";
- callback = {
- __raw = ''
- function()
- vim.lsp.buf.format {
- async = false,
- }
- end
- '';
- };
- }
- ];
-
- highlight = {
- Comment = {
- italic = true;
- fg = theme.schemeColors.withHashtag.base03; # TODO: Come up with a good name colors.muted maybe?
- };
-
- };
-
- plugins.lsp = {
- enable = true;
- };
-
- #plugins.treesitter = {
- # enable = true;
- #};
-
- plugins.cmp = {
- enable = true;
-
- settings = {
- mapping = {
- "" = "cmp.mapping.complete()";
- "" = "cmp.mapping.scroll_docs(-4)";
- "" = "cmp.mapping.close()";
- "" = "cmp.mapping.scroll_docs(4)";
- "" = "cmp.mapping.confirm({ select = true })";
- "" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
- "" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
- };
- sources = [
- { name = "path"; }
- { name = "nvim_lsp"; }
- ];
- };
- };
-
- plugins.web-devicons = {
- enable = true;
- };
-
- plugins.neo-tree = {
- enable = true;
-
- closeIfLastWindow = true;
- window = {
- width = 30;
- autoExpandWidth = true;
- };
-
- extraOptions = {
- default_component_configs.git_status.symbols = {
- # Change type
- added = "+";
- deleted = "✕";
- modified = "✦";
- renamed = "→";
-
- # Status type
- untracked = "?";
- ignored = "▫";
- unstaged = "□";
- staged = "■";
- conflict = "‼";
- };
- };
- };
-
- #plugins.cmp-nvim-lsp.enable = true;
-
- plugins.gitsigns = {
- enable = true;
- settings.current_line_blame = true;
- };
-
- #plugins.copilot-vim = {
- # enable = true;
- #};
-
- # plugins.vimtex = {
- # enable = true;
- # texlivePackage = null;
- # settings = {
- # view_method = "zathura";
- # };
- # };
- };
- programs.neovim.defaultEditor = true;
- };
-}
diff --git a/unorganized/user-modules/obsidian/default.nix b/unorganized/user-modules/obsidian/default.nix
deleted file mode 100644
index e7057e3..0000000
--- a/unorganized/user-modules/obsidian/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.obsidian;
-in
-{
- options.modules.obsidian = {
- enable = mkEnableOption "obsidian";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [ "obsidian" ];
-
- home.packages = with pkgs; [ obsidian ];
- };
-}
diff --git a/unorganized/user-modules/rofi/default.nix b/unorganized/user-modules/rofi/default.nix
deleted file mode 100644
index 0b1d8a6..0000000
--- a/unorganized/user-modules/rofi/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.rofi;
- theme = config.desktop.theming;
- colors = theme.colors;
-in
-{
- options.modules.rofi.enable = mkEnableOption "rofi";
-
- config = mkIf cfg.enable {
- programs.rofi = {
- enable = true;
- terminal = config.default.terminal;
- package = pkgs.rofi-wayland;
- font = "${theme.fonts.interface.name} ${toString (theme.fonts.interface.recommendedSize)}";
- theme =
- let
- inherit (config.lib.formats.rasi) mkLiteral;
- in
- {
- "*" = {
- background-color = mkLiteral "rgba(0, 0, 0, 0%)";
- border-color = mkLiteral "#${colors.fg}";
- text-color = mkLiteral "#${colors.fg}";
- };
- mainbox = {
- background-color = mkLiteral "#${colors.bg}";
- border = mkLiteral "${toString theme.layout.borderSize}px";
- };
- element-text = {
- highlight = mkLiteral "#${colors.fg-search}";
- };
- inputbar = {
- children = mkLiteral "[textbox-search, entry]";
- };
- listview = {
- padding = mkLiteral "2px 0px";
- };
- textbox-search = {
- expand = false;
- content = "> ";
- };
- "inputbar, message" = {
- padding = mkLiteral "2px";
- };
- element = {
- padding = mkLiteral "1px 2px 3px 2px";
- };
- "element selected" = {
- background-color = mkLiteral "#${colors.border-unfocused}";
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/rofi/rofi-rbw.nix b/unorganized/user-modules/rofi/rofi-rbw.nix
deleted file mode 100644
index 451486d..0000000
--- a/unorganized/user-modules/rofi/rofi-rbw.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.rofi-rbw;
-in
-{
- options.modules.rofi-rbw.enable = mkEnableOption "rofi-rbw";
-
- config = mkIf cfg.enable {
- modules.rofi.enable = true;
-
- home.packages = [ pkgs.rofi-rbw ];
-
- # TODO: Move to separate module and make configurable
- programs.rbw = {
- enable = true;
- settings = {
- base_url = "https://keys.bulthuis.dev";
- email = "jan@bulthuis.dev";
- pinentry = pkgs.pinentry;
- };
- };
- };
-}
diff --git a/unorganized/user-modules/scripts/default.nix b/unorganized/user-modules/scripts/default.nix
deleted file mode 100644
index 5bbfc98..0000000
--- a/unorganized/user-modules/scripts/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.scripts;
-in
-{
- options.modules.scripts.enable = mkEnableOption "scripts";
-
- config = mkIf cfg.enable {
- # home.packages = with pkgs; map (path: (writeShellScriptBin "${path}" (readFile path))) scripts;
- home.packages = with pkgs; [
- (writeShellScriptBin "mkenv" (readFile ./mkenv.sh))
- ];
- };
-}
diff --git a/unorganized/user-modules/scripts/mkenv.sh b/unorganized/user-modules/scripts/mkenv.sh
deleted file mode 100644
index 76df1d4..0000000
--- a/unorganized/user-modules/scripts/mkenv.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-setupEnv () {
- echo "Setting up .envrc"
- if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
- insideGit;
- else
- outsideGit;
- fi;
-}
-
-insideGit () {
- echo "Inside of git environment"
- cd $(git rev-parse --show-toplevel)
- echo "Setting up inside $PWD"
- echo "git add -f --intent-to-add flake.nix
-use flake ." > .envrc
-
- echo "Enabling environment"
- direnv allow
-
- setupFlake
-}
-
-outsideGit () {
- echo "Outside of git environment"
- echo "use flake . --impure" > .envrc
-
- echo "Enabling environment"
- direnv allow
-
- setupFlake
-}
-
-setupFlake () {
- if [ -e flake.nix ]; then
- echo "flake.nix already exists."
- return
- fi;
-
- echo "Setting up flake.nix"
- echo "{
- inputs.devenv.url = \"git+https://git.bulthuis.dev/Jan/dotfiles\";
- outputs = { devenv, ... }: devenv.lib.mkShell { };
-}" > flake.nix
-}
-
-echo "Creating dev environment"
-
-if [ -e .envrc ]; then
- echo ".envrc already exists."
- setupFlake
-else
- setupEnv
-fi;
\ No newline at end of file
diff --git a/unorganized/user-modules/shell/bash.nix b/unorganized/user-modules/shell/bash.nix
deleted file mode 100644
index 8d8cfb4..0000000
--- a/unorganized/user-modules/shell/bash.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- lib,
- config,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.bash;
-in
-{
- options.modules.bash = {
- enable = mkEnableOption "bash";
- };
-
- config.programs.bash = {
- enable = cfg.enable;
-
- shellAliases = config.modules.shell.aliases;
- };
-}
diff --git a/unorganized/user-modules/shell/default.nix b/unorganized/user-modules/shell/default.nix
deleted file mode 100644
index e15d2a6..0000000
--- a/unorganized/user-modules/shell/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- lib,
- ...
-}:
-
-with lib;
-{
- options.modules.shell = {
- aliases = mkOption {
- type = types.attrsOf types.str;
- default = {
- "..." = "cd ../..";
- };
- description = "Shell aliases";
- };
- };
-}
diff --git a/unorganized/user-modules/shell/fish.nix b/unorganized/user-modules/shell/fish.nix
deleted file mode 100644
index e020d43..0000000
--- a/unorganized/user-modules/shell/fish.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.fish;
-in
-{
- options.modules.fish = {
- enable = mkEnableOption "fish";
-
- plugins = {
- done = mkEnableOption "done";
- fzf = mkEnableOption "fzf";
- grc = mkEnableOption "grc";
- };
- };
-
- config = mkIf cfg.enable {
- # Make bash load into fish
- # Bash will remain the default shell as fish is not POSIX compliant.
- modules.bash.enable = true;
- programs.bash.initExtra = ''
- if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
- then
- shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
- exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
- fi
- '';
-
- # Actual fish configuration
- programs.fish = {
- enable = true;
-
- shellAliases = config.modules.shell.aliases;
-
- plugins = [
- (mkIf cfg.plugins.done {
- name = "done";
- src = pkgs.fishPlugins.done.src;
- })
- (mkIf cfg.plugins.fzf {
- name = "fzf";
- src = pkgs.fishPlugins.fzf-fish.src;
- })
- (mkIf cfg.plugins.grc {
- name = "grc";
- src = pkgs.fishPlugins.grc.src;
- })
- ];
- };
-
- # Fish plugin dependencies
- home.packages = with pkgs; [
- (mkIf cfg.plugins.fzf fzf)
- (mkIf cfg.plugins.grc grc)
- ];
- };
-}
diff --git a/unorganized/user-modules/spotify/default.nix b/unorganized/user-modules/spotify/default.nix
deleted file mode 100644
index 4f81156..0000000
--- a/unorganized/user-modules/spotify/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.spotify;
-in
-{
- options.modules.spotify.enable = mkEnableOption "spotify";
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [
- "spotify"
- ];
-
- home.packages = with pkgs; [
- spotify
- ];
- };
-}
diff --git a/unorganized/user-modules/terminal/default.nix b/unorganized/user-modules/terminal/default.nix
deleted file mode 100644
index f6c1aef..0000000
--- a/unorganized/user-modules/terminal/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-{
- options.default.terminal = mkOption {
- type = types.str;
- # TODO: Make sure everything works even without a default value here
- # Maybe make sure most gui applications do not exist in the default specialisation
- default = "foot";
- description = "Default terminal application";
- };
-}
diff --git a/unorganized/user-modules/terminal/foot/default.nix b/unorganized/user-modules/terminal/foot/default.nix
deleted file mode 100644
index 3588481..0000000
--- a/unorganized/user-modules/terminal/foot/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.foot;
-in
-{
- options.modules.foot.enable = mkEnableOption "foot";
-
- config = mkIf cfg.enable {
- default.terminal = mkDefault "${pkgs.foot}/bin/foot";
-
- programs.foot = {
- enable = true;
- settings = {
- main =
- let
- font = config.desktop.theming.fonts.monospace.name;
- size = toString config.desktop.theming.fonts.monospace.recommendedSize;
- in
- {
- font = mkForce "${font}:style=Regular:size=${size}";
- font-bold = "${font}:style=Bold:size=${size}";
- font-italic = "${font}:style=Italic:size=${size}";
- font-bold-italic = "${font}:style=Bold Italic:size=${size}";
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/vscode/default.nix b/unorganized/user-modules/vscode/default.nix
deleted file mode 100644
index f8b9748..0000000
--- a/unorganized/user-modules/vscode/default.nix
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.vscode;
- theme = config.desktop.theming;
-in
-{
- options.modules.vscode = {
- enable = mkEnableOption "vscode";
- codeFont = mkOption {
- type = types.anything;
- default = theme.fonts.pkgs."Fira Code";
- };
- fallbackFont = mkOption {
- type = types.anything;
- default = theme.fonts.pkgs."Symbols Nerd Font Mono";
- };
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [
- "vscode"
- "vscode-extension-github-copilot"
- "vscode-extension-github-copilot-chat"
- "vscode-extension-ms-vsliveshare-vsliveshare"
- "vscode-extension-ms-vscode-remote-remote-ssh"
- ];
-
- desktop.theming.fonts.extraFonts = [ cfg.codeFont ];
-
- programs.vscode = {
- enable = true;
-
- mutableExtensionsDir = false;
- profiles.default = {
- extensions = with pkgs.vscode-extensions; [
- eamodio.gitlens
- ms-vscode.hexeditor
- mkhl.direnv
- usernamehw.errorlens
- gruntfuggly.todo-tree
- github.copilot
- github.copilot-chat
- tomoki1207.pdf
- ms-vsliveshare.vsliveshare
- ms-vscode-remote.remote-ssh
- ];
-
- userSettings =
- let
- font-family = mkForce "'${cfg.codeFont.name}', '${cfg.fallbackFont.name}'";
- # TODO: Move the conversion factor to theme settings
- font-size = mkForce cfg.codeFont.recommendedSize; # Convert pt to px
- in
- {
- # Font setup
- "editor.fontFamily" = font-family;
- "editor.inlayHints.fontFamily" = font-family;
- "editor.inlineSuggest.fontFamily" = font-family;
- "editor.fontSize" = font-size;
- "editor.fontLigatures" = true;
- "terminal.integrated.fontFamily" = font-family;
- "terminal.integrated.fontSize" = font-size;
- "chat.editor.fontFamily" = font-family; # TODO: Change this font to the standard UI font
- "chat.editor.fontSize" = font-size;
- "debug.console.fontFamily" = font-family;
- "debug.console.fontSize" = font-size;
- "scm.inputFontFamily" = font-family; # TODO: Change this font to the standard UI font
- "scm.inputFontSize" = font-size;
- "markdown.preview.fontFamily" = mkForce theme.fonts.sansSerif.name; # TODO: Change this font to the standard UI font
- "markdown.preview.fontSize" = mkForce theme.fonts.sansSerif.recommendedSize;
-
- # Formatting
- "editor.formatOnSave" = true;
- "editor.tabSize" = 4;
-
- # Layout
- "window.menuBarVisibility" = "hidden";
-
- # Git settings
- "git.autofetch" = true;
- "git.enableSmartCommit" = false;
- "git.suggestSmartCommit" = false;
-
- # Disable update notifications
- "update.mode" = "none";
-
- # TODO: Move to direnv module
- # Ignore direnv folder
- "files.exclude" = {
- ".direnv" = true;
- };
- };
- };
- };
- };
-}
diff --git a/unorganized/user-modules/whatsapp/default.nix b/unorganized/user-modules/whatsapp/default.nix
deleted file mode 100644
index 3abcb6c..0000000
--- a/unorganized/user-modules/whatsapp/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.whatsapp;
-in
-{
- options.modules.whatsapp = {
- enable = mkEnableOption "whatsapp";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [ "whatsapp-for-linux" ];
-
- home.packages = with pkgs; [ whatsapp-for-linux ];
- };
-}
diff --git a/unorganized/user-modules/winbox/default.nix b/unorganized/user-modules/winbox/default.nix
deleted file mode 100644
index bef4cfd..0000000
--- a/unorganized/user-modules/winbox/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.winbox;
-in
-{
- options.modules.winbox = {
- enable = mkEnableOption "winbox";
- };
-
- config = mkIf cfg.enable {
- modules.unfree.allowedPackages = [ "winbox" ];
-
- home.packages = with pkgs; [ winbox ];
- };
-}
diff --git a/unorganized/user-modules/wprs/default.nix b/unorganized/user-modules/wprs/default.nix
deleted file mode 100644
index 8f23b94..0000000
--- a/unorganized/user-modules/wprs/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.wprs;
-
- wprsHostConfigurationModule = types.submodule {
- options = {
- name = mkOption {
- type = types.str;
- description = "Command name.";
- };
- command = mkOption {
- type = types.str;
- description = "Command to run.";
- };
- };
- };
-in
-{
- options.modules.wprs = {
- enable = mkEnableOption "Enable wprs";
- hosts = mkOption {
- type = types.attrsOf (types.listOf wprsHostConfigurationModule);
- default = { };
- description = "wprs commands to add as desktop files";
- };
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- wprs
- ];
-
- xdg.desktopEntries = (
- listToAttrs (
- map
- (entry: {
- name = "wprs${
- builtins.substring 0 12 (builtins.hashString "sha256" "${entry.name} (${entry.comment})")
- }";
- value = entry // {
- type = "Application";
- terminal = false;
- genericName = entry.comment;
- };
- })
- (
- concatMap (
- entry:
- let
- host = entry.name;
- commands = entry.value;
- hostEntries = [
- {
- name = "Wprs - Attach";
- comment = host;
- exec = "wprs --pulseaudio-forwarding False ${host} attach";
- }
- {
- name = "Wprs - Detach";
- comment = host;
- exec = "wprs ${host} detach";
- }
- ];
- commandEntries = map (command: {
- name = "Wprs - ${command.name}";
- comment = host;
- exec = "wprs --pulseaudio-forwarding False ${host} run \"${command.command}\"";
- }) commands;
- in
- (hostEntries ++ commandEntries)
- ) (attrsToList cfg.hosts)
- )
- )
- );
- };
-}
diff --git a/unorganized/user-modules/xpra/default.nix b/unorganized/user-modules/xpra/default.nix
deleted file mode 100644
index 2653f4e..0000000
--- a/unorganized/user-modules/xpra/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-with lib;
-let
- cfg = config.modules.xpra;
-in
-{
- options.modules.xpra = {
- enable = mkEnableOption "Enable xpra";
- hosts = mkOption {
- type = types.listOf types.str;
- default = { };
- description = "xpra hosts";
- };
- };
-
- config = mkIf cfg.enable {
- home.packages = with pkgs; [
- xpra
- ];
-
- xdg.desktopEntries = (
- listToAttrs (
- map
- (entry: {
- name = "xpra${
- builtins.substring 0 12 (builtins.hashString "sha256" "${entry.name} (${entry.comment})")
- }";
- value = entry // {
- type = "Application";
- terminal = false;
- genericName = entry.comment;
- };
- })
- (
- concatMap (
- host:
- let
- uri = "tcp://${host}:15151/7";
- in
- [
- {
- name = "Xpra - Attach";
- comment = host;
- exec = "xpra attach --min-quality=100 --min-speed=100 --encoding=png --speaker=off ${uri}";
- }
- {
- name = "Xpra - Detach";
- comment = host;
- exec = "xpra detach ${uri}";
- }
- ]
- ) cfg.hosts
- )
- )
- );
- };
-}
diff --git a/unorganized/user-modules/zathura/default.nix b/unorganized/user-modules/zathura/default.nix
deleted file mode 100644
index dbbe6af..0000000
--- a/unorganized/user-modules/zathura/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-let
- cfg = config.modules.zathura;
- colors = config.desktop.theming.colors;
-in
-{
- options.modules.zathura.enable = lib.mkEnableOption "zathura";
-
- config = lib.mkIf cfg.enable {
- programs.zathura = {
- enable = true;
-
- options = {
- guioptions = "none";
- recolor = true;
- recolor-keephue = false;
- recolor-darkcolor = lib.mkForce "#${colors.accent}";
- recolor-lightcolor = lib.mkForce "#${colors.bg}";
- };
- };
-
- xdg.mimeApps = {
- enable = true;
-
- defaultApplications = {
- "application/pdf" = "zathura";
- };
- };
- };
-}
diff --git a/unorganized/users/jan.nix b/unorganized/users/jan.nix
deleted file mode 100644
index d07e20e..0000000
--- a/unorganized/users/jan.nix
+++ /dev/null
@@ -1,370 +0,0 @@
-{
- lib,
- config,
- pkgs,
- ...
-}:
-
-{
- config = (
- lib.recursiveUpdate
- {
- # State version
- home.stateVersion = "24.05";
-
- # TODO: Move into modules
- home.packages = with pkgs; [
- libreoffice-still
- remmina
- pinentry
- thunderbird
- signal-desktop
- prusa-slicer
- freecad-wayland
- inkscape
- ente-auth
- bitwarden
- carla
- baobab
- gnome-calculator
- nautilus
- ];
-
- # desktop.development = "river-light";
- desktop.enable = true;
- desktop.environments = {
- river-dark = {
- name = "River Dark";
- type = "custom";
- config = { };
- extraConfig = {
- modules = {
- # Desktop environment
- river.enable = true;
- waylock.enable = true;
- waybar.enable = true;
- mako.enable = true;
- foot.enable = true;
- rofi-rbw.enable = true;
- };
-
- # TODO: Remove everything below, it is here out of convenience and should be elsewhere
- xdg.portal = {
- enable = true;
-
- config.common.default = [
- "wlr"
- "gtk"
- ];
-
- extraPortals = with pkgs; [
- xdg-desktop-portal-gtk
- xdg-desktop-portal-wlr
- ];
- };
-
- # Color scheme
- desktop.theming.background = {
- image = {
- url = "https://i.postimg.cc/tTB3dM3T/1382899.png";
- hash = "sha256-kStcwAtK2vxitU6uaQtZTA5iFS8k0iXkFwinY2M8wQE=";
- };
- themed = true;
- inverted = false;
- };
- desktop.theming.themes.catppuccin = {
- enable = true;
- flavor = "mocha";
- };
- };
- };
- river-light = {
- name = "River Light";
- type = "custom";
- config = { };
- extraConfig = {
- modules = {
- # Desktop environment
- river.enable = true;
- waylock.enable = true;
- waybar.enable = true;
- mako.enable = true;
- foot.enable = true;
- rofi-rbw.enable = true;
- };
-
- # TODO: Remove everything below, it is here out of convenience and should be elsewhere
- xdg.portal = {
- enable = true;
-
- config.common.default = [
- "wlr"
- "gtk"
- ];
-
- extraPortals = with pkgs; [
- xdg-desktop-portal-gtk
- xdg-desktop-portal-wlr
- ];
- };
-
- # Color scheme
- desktop.theming.background = {
- image = {
- url = "https://raw.githubusercontent.com/dharmx/walls/refs/heads/main/digital/a_drawing_of_a_spider_on_a_white_surface.png";
- hash = "sha256-eCEjM7R9yeHNhZZtvHjrgkfwT25JA7FeMoVwnQ887CQ=";
- };
- themed = true;
- inverted = false;
- };
- desktop.theming.themes.catppuccin = {
- enable = true;
- flavor = lib.mkForce "latte";
- };
- };
- };
- gnome = {
- name = "Gnome";
- type = "custom";
- config = { };
- extraConfig = {
- programs = {
- gnome-shell.enable = true;
- };
- desktop = {
- initScript = ''
- ${pkgs.gnome-session}/bin/gnome-session
- '';
- session = {
- type = "wayland";
- desktop = "GNOME";
- };
- };
- modules.river.enable = lib.mkForce false;
-
- # TODO: Remove everything below, it is here out of convenience and should be elsewhere
- xdg.portal = {
- enable = true;
-
- config.common.default = [
- "gnome"
- "gtk"
- ];
-
- extraPortals = with pkgs; [
- xdg-desktop-portal-gnome
- xdg-desktop-portal-gtk
- ];
- };
- home.packages = [
- # Core utilities
- pkgs.epiphany
- pkgs.gnome-text-editor
- pkgs.gnome-calendar
- pkgs.gnome-characters
- pkgs.gnome-clocks
- pkgs.gnome-console
- pkgs.gnome-contacts
- pkgs.gnome-font-viewer
- pkgs.gnome-logs
- pkgs.gnome-maps
- pkgs.gnome-music
- pkgs.gnome-system-monitor
- pkgs.gnome-weather
- pkgs.loupe
- pkgs.gnome-connections
- pkgs.simple-scan
- pkgs.snapshot
- pkgs.totem
- pkgs.yelp
-
- # Optional packages
- pkgs.adwaita-icon-theme
- pkgs.gnome-backgrounds
- pkgs.gnome-bluetooth
- pkgs.gnome-color-manager
- pkgs.gnome-control-center
- pkgs.gnome-shell-extensions
- pkgs.gnome-tour # GNOME Shell detects the .desktop file on first log-in.
- pkgs.gnome-user-docs
- pkgs.glib # for gsettings program
- pkgs.gnome-menus
- pkgs.gtk3.out # for gtk-launch program
- pkgs.xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
- pkgs.xdg-user-dirs-gtk # Used to create the default bookmarks
-
- # Fonts
- pkgs.cantarell-fonts
- pkgs.dejavu_fonts
- pkgs.source-code-pro # Default monospace font in 3.32
- pkgs.source-sans
-
- # Other stuff
- pkgs.gnome-session
- ];
- };
- };
- };
-
- # Pipewire roc sink
- xdg.configFile."pipewire/pipewire.conf.d/60-roc-sink.conf" = {
- text = ''
- context.modules = [
- {
- name = "libpipewire-module-roc-sink"
- args = {
- fec.code = "rs8m"
- remote.ip = "10.20.60.251"
- remote.source.port = 10001
- remote.repair.port = 10002
- sink.name = "Roc Sink"
- sink.props.node.name = "roc-sink"
- }
- }
- ]
- '';
- };
-
- # Enabled modules
- modules = {
- # Communication
- whatsapp.enable = true;
- discord.enable = true;
-
- # Browser
- firefox = {
- enable = true;
- default = false;
- };
- qutebrowser = {
- enable = true;
- default = true;
- };
-
- # Gaming
- steam.enable = true;
- # modrinth.enable = true;
- # es-de.enable = true; # TODO: Fix, again
- retroarch.enable = true;
- ryujinx.enable = true;
-
- # Media
- spotify.enable = true;
- feishin.enable = true;
-
- # Tools
- git = {
- enable = true;
- user = "Jan-Bulthuis";
- email = "git@bulthuis.dev";
- # TODO: Move
- ignores = [
- ".envrc"
- ".direnv"
- "flake.nix"
- "flake.lock"
- ];
- };
- btop.enable = true;
- fish.enable = true;
- bluetuith.enable = false;
- winbox.enable = true;
- obsidian.enable = true;
- zathura.enable = true;
- eduvpn.enable = true;
- keyring.enable = true;
- scripts.enable = true;
- xpra = {
- enable = true;
- hosts = [
- "mixer@10.20.60.251"
- ];
- };
-
- # Development
- neovim.enable = true;
- vscode.enable = true;
- docker.enable = true;
- matlab.enable = true;
- mathematica.enable = true;
-
- # Languages
- haskell.enable = false;
- js.enable = true;
- nix.enable = true;
- rust.enable = true;
- python.enable = true;
- cpp.enable = true;
- tex.enable = true;
- jupyter.enable = true;
-
- # Enable unfree
- unfree.enable = true;
- };
-
- # Theme configuration
- desktop.theming =
- let
- fontpkgs = config.desktop.theming.fonts.pkgs;
- in
- lib.mkDefault {
- # Fonts
- fonts.serif = fontpkgs."DejaVu Serif";
- fonts.sansSerif = fontpkgs."DejaVu Sans";
- fonts.monospace = fontpkgs."Dina";
- fonts.emoji = fontpkgs."Noto Color Emoji";
- fonts.interface = fontpkgs."Dina";
- fonts.extraFonts = [ ];
-
- # Color scheme
- themes.catppuccin = {
- enable = true;
- flavor = "mocha";
- };
- };
- }
- {
- # Default desktop environment
- modules = {
- # Desktop environment
- river.enable = true;
- waylock.enable = true;
- waybar.enable = true;
- mako.enable = true;
- foot.enable = true;
- rofi-rbw.enable = true;
- };
-
- # TODO: Remove everything below, it is here out of convenience and should be elsewhere
- xdg.portal = {
- enable = true;
-
- config.common.default = lib.mkDefault [
- "wlr"
- "gtk"
- ];
-
- extraPortals =
- with pkgs;
- lib.mkDefault [
- xdg-desktop-portal-gtk
- xdg-desktop-portal-wlr
- ];
- };
-
- # Color scheme
- desktop.theming.background = lib.mkDefault {
- image = {
- url = "https://i.postimg.cc/tTB3dM3T/1382899.png";
- hash = "sha256-kStcwAtK2vxitU6uaQtZTA5iFS8k0iXkFwinY2M8wQE=";
- };
- themed = true;
- inverted = false;
- };
- desktop.theming.themes.catppuccin = {
- enable = true;
- flavor = "mocha";
- };
- }
- );
-}
diff --git a/unorganized/users/server.nix b/unorganized/users/server.nix
deleted file mode 100644
index e659ae6..0000000
--- a/unorganized/users/server.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-# How Jan likes his linux to be configured on servers
-
-{
- pkgs,
- ...
-}:
-
-{
- config = {
- # State version
- home.stateVersion = "24.11";
-
- # TODO: Move into modules
- home.packages = with pkgs; [
- ];
-
- # Enabled modules
- modules = {
- # Tools
- git = {
- enable = true;
- user = "Jan-Bulthuis";
- email = "git@bulthuis.dev";
- # TODO: Move
- ignores = [
- ".envrc"
- ".direnv"
- "flake.nix"
- "flake.lock"
- ];
- };
- btop.enable = true;
- fish.enable = true;
- keyring.enable = true;
- scripts.enable = true;
-
- # Development
- neovim.enable = true;
-
- # Languages
- haskell.enable = false;
- js.enable = true;
- nix.enable = true;
- rust.enable = true;
- python.enable = true;
- cpp.enable = true;
-
- # Enable unfree
- unfree.enable = true;
- };
- };
-}