diff --git a/hosts/potatobook-g/configuration.nix b/hosts/potatobook-g/configuration.nix index 6cbd34c..db0f132 100644 --- a/hosts/potatobook-g/configuration.nix +++ b/hosts/potatobook-g/configuration.nix @@ -11,33 +11,8 @@ ./hardware-configuration.nix ../../common.nix ../../modules - #inputs.mms.module ]; - #nixpkgs = { - #overlays = [ - #(self: super: { - #linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override { - #structuredExtraConfig = with lib.kernel; { - ##"FB" = yes; - ##"FRAMEBUFFER_CONSOLE" = yes; - ##"VGA_CONSOLE" = yes; - ##"VIDEO_SELECT" = yes; - #LOGO = lib.mkForce yes; - #LOGO_LINUX_CLUT224 = yes; - #}; - #ignoreConfigErrors = true; - #}); - #}) - #]; - #}; - #boot.kernelPatches = [ - #{ - #name = "fomx"; - #patch = ../other/0001-fomx.patch; - #} - #]; - boot.binfmt.emulatedSystems = ["aarch64-linux"]; jade = { @@ -59,7 +34,6 @@ "/".options = ["compress=zstd:3"]; "/home".options = ["compress=zstd:3"]; "/nix".options = ["compress=zstd:3" "noatime"]; - #"/swap".options = [ "noatime" ]; }; boot.loader.systemd-boot.enable = true; @@ -71,27 +45,8 @@ networking.hostName = "potatobook-g"; - services.autorandr = { - enable = true; - profiles = { - "default" = { - config = { - "eDP-1" = { - enable = true; - mode = "1920x1200"; - }; - }; - }; - }; - }; - - # hardware.keyboard.uhk.enable = true; hardware.enableRedistributableFirmware = true; - environment.systemPackages = with pkgs; [ - android-tools - ]; - environment.pathsToLink = [ "/share/nix-direnv" ]; @@ -106,43 +61,6 @@ systemd.services."NetworkManager-wait-online".enable = false; - # services.pixiecore = - # let - # nixpkgs = builtins.getFlake "nixpkgs/nixos-unstable"; - # sys = nixpkgs.lib.nixosSystem { - # system = "x86_64-linux"; - # modules = [ - # ({config, pkgs, lib, modulesPath, ...}: { - # imports = [ - # (modulesPath + "/installer/netboot/netboot-base.nix") - # ]; - - # services.getty.autologinUser = lib.mkForce "root"; - # console.keyMap = "de"; - - # system.stateVersion = config.system.nixos.release; - # environment.systemPackages = with pkgs; [ - # helix nil git neofetch - # ]; - - # programs = { - # zsh = { - # enable = true; - # enableCompletion = true; - # }; - # }; - # }) - # ]; - # }; - # build = sys.config.system.build; - # in { - # enable = true; - # openFirewall = true; - # kernel = "${build.kernel}/bzImage"; - # initrd = "${build.netbootRamdisk}/initrd"; - # cmdLine = "init=${build.toplevel}/init loglevel=4"; - # }; - systemd.services = { create-swapfile = { serviceConfig.Type = "oneshot"; diff --git a/modules/desktop-environment/audio.nix b/modules/de/audio.nix similarity index 100% rename from modules/desktop-environment/audio.nix rename to modules/de/audio.nix diff --git a/modules/desktop-environment/default.nix b/modules/de/default.nix similarity index 90% rename from modules/desktop-environment/default.nix rename to modules/de/default.nix index 4dc7928..3370088 100644 --- a/modules/desktop-environment/default.nix +++ b/modules/de/default.nix @@ -3,12 +3,11 @@ ./audio.nix ./eduroam.nix ./home - ./media ./dm.nix ./tlp.nix ./locale.nix ./printing.nix - ./stylix.nix + ./themeing.nix ]; services.flatpak.enable = true; security.polkit.enable = true; diff --git a/modules/desktop-environment/dm.nix b/modules/de/dm.nix similarity index 100% rename from modules/desktop-environment/dm.nix rename to modules/de/dm.nix diff --git a/modules/desktop-environment/eduroam.nix b/modules/de/eduroam.nix similarity index 100% rename from modules/desktop-environment/eduroam.nix rename to modules/de/eduroam.nix diff --git a/modules/desktop-environment/home/browser.nix b/modules/de/home/browser.nix similarity index 100% rename from modules/desktop-environment/home/browser.nix rename to modules/de/home/browser.nix diff --git a/modules/desktop-environment/home/default.nix b/modules/de/home/default.nix similarity index 100% rename from modules/desktop-environment/home/default.nix rename to modules/de/home/default.nix diff --git a/modules/desktop-environment/home/eww/configDir/bottomBar/bottomBar.yuck b/modules/de/home/eww/configDir/bottomBar/bottomBar.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/bottomBar/bottomBar.yuck rename to modules/de/home/eww/configDir/bottomBar/bottomBar.yuck diff --git a/modules/desktop-environment/home/eww/configDir/bottomBar/traveldings.yuck b/modules/de/home/eww/configDir/bottomBar/traveldings.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/bottomBar/traveldings.yuck rename to modules/de/home/eww/configDir/bottomBar/traveldings.yuck diff --git a/modules/desktop-environment/home/eww/configDir/bottomBar/workspaces.yuck b/modules/de/home/eww/configDir/bottomBar/workspaces.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/bottomBar/workspaces.yuck rename to modules/de/home/eww/configDir/bottomBar/workspaces.yuck diff --git a/modules/desktop-environment/home/eww/configDir/eww.css b/modules/de/home/eww/configDir/eww.css similarity index 100% rename from modules/desktop-environment/home/eww/configDir/eww.css rename to modules/de/home/eww/configDir/eww.css diff --git a/modules/desktop-environment/home/eww/configDir/eww.yuck b/modules/de/home/eww/configDir/eww.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/eww.yuck rename to modules/de/home/eww/configDir/eww.yuck diff --git a/modules/desktop-environment/home/eww/configDir/scripts/bat.nu b/modules/de/home/eww/configDir/scripts/bat.nu similarity index 100% rename from modules/desktop-environment/home/eww/configDir/scripts/bat.nu rename to modules/de/home/eww/configDir/scripts/bat.nu diff --git a/modules/desktop-environment/home/eww/configDir/scripts/iceTacho.nu b/modules/de/home/eww/configDir/scripts/iceTacho.nu similarity index 100% rename from modules/desktop-environment/home/eww/configDir/scripts/iceTacho.nu rename to modules/de/home/eww/configDir/scripts/iceTacho.nu diff --git a/modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck b/modules/de/home/eww/configDir/topBar/sysinfo.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/topBar/sysinfo.yuck rename to modules/de/home/eww/configDir/topBar/sysinfo.yuck diff --git a/modules/desktop-environment/home/eww/configDir/topBar/time.yuck b/modules/de/home/eww/configDir/topBar/time.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/topBar/time.yuck rename to modules/de/home/eww/configDir/topBar/time.yuck diff --git a/modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck b/modules/de/home/eww/configDir/topBar/topBar.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/topBar/topBar.yuck rename to modules/de/home/eww/configDir/topBar/topBar.yuck diff --git a/modules/desktop-environment/home/eww/configDir/util.yuck b/modules/de/home/eww/configDir/util.yuck similarity index 100% rename from modules/desktop-environment/home/eww/configDir/util.yuck rename to modules/de/home/eww/configDir/util.yuck diff --git a/modules/desktop-environment/home/eww/default.nix b/modules/de/home/eww/default.nix similarity index 100% rename from modules/desktop-environment/home/eww/default.nix rename to modules/de/home/eww/default.nix diff --git a/modules/desktop-environment/home/layaway.nix b/modules/de/home/layaway.nix similarity index 100% rename from modules/desktop-environment/home/layaway.nix rename to modules/de/home/layaway.nix diff --git a/modules/desktop-environment/home/niri/binds.nix b/modules/de/home/niri/binds.nix similarity index 100% rename from modules/desktop-environment/home/niri/binds.nix rename to modules/de/home/niri/binds.nix diff --git a/modules/desktop-environment/home/niri/default.nix b/modules/de/home/niri/default.nix similarity index 100% rename from modules/desktop-environment/home/niri/default.nix rename to modules/de/home/niri/default.nix diff --git a/modules/desktop-environment/home/niri/input.nix b/modules/de/home/niri/input.nix similarity index 100% rename from modules/desktop-environment/home/niri/input.nix rename to modules/de/home/niri/input.nix diff --git a/modules/desktop-environment/home/niri/privacy.nix b/modules/de/home/niri/privacy.nix similarity index 100% rename from modules/desktop-environment/home/niri/privacy.nix rename to modules/de/home/niri/privacy.nix diff --git a/modules/desktop-environment/home/niri/quirks.nix b/modules/de/home/niri/quirks.nix similarity index 100% rename from modules/desktop-environment/home/niri/quirks.nix rename to modules/de/home/niri/quirks.nix diff --git a/modules/desktop-environment/home/niri/screenshot.nix b/modules/de/home/niri/screenshot.nix similarity index 100% rename from modules/desktop-environment/home/niri/screenshot.nix rename to modules/de/home/niri/screenshot.nix diff --git a/modules/desktop-environment/home/niri/style.nix b/modules/de/home/niri/style.nix similarity index 100% rename from modules/desktop-environment/home/niri/style.nix rename to modules/de/home/niri/style.nix diff --git a/modules/desktop-environment/home/niri/xwayland-sat.nix b/modules/de/home/niri/xwayland-sat.nix similarity index 100% rename from modules/desktop-environment/home/niri/xwayland-sat.nix rename to modules/de/home/niri/xwayland-sat.nix diff --git a/modules/desktop-environment/home/notifications.nix b/modules/de/home/notifications.nix similarity index 92% rename from modules/desktop-environment/home/notifications.nix rename to modules/de/home/notifications.nix index 8c5f9aa..37390e9 100644 --- a/modules/desktop-environment/home/notifications.nix +++ b/modules/de/home/notifications.nix @@ -14,6 +14,7 @@ foreground = "#ebdbb2"; frame_color = "#504945"; frame_width = 2; + font = "Atkinson Hyperlegible"; }; }; }; diff --git a/modules/desktop-environment/home/swayidle.nix b/modules/de/home/swayidle.nix similarity index 100% rename from modules/desktop-environment/home/swayidle.nix rename to modules/de/home/swayidle.nix diff --git a/modules/desktop-environment/home/terminal.nix b/modules/de/home/terminal.nix similarity index 100% rename from modules/desktop-environment/home/terminal.nix rename to modules/de/home/terminal.nix diff --git a/modules/desktop-environment/locale.nix b/modules/de/locale.nix similarity index 100% rename from modules/desktop-environment/locale.nix rename to modules/de/locale.nix diff --git a/modules/desktop-environment/printing.nix b/modules/de/printing.nix similarity index 100% rename from modules/desktop-environment/printing.nix rename to modules/de/printing.nix diff --git a/modules/desktop-environment/stylix.nix b/modules/de/themeing.nix similarity index 77% rename from modules/desktop-environment/stylix.nix rename to modules/de/themeing.nix index 4d2d991..3cc2047 100644 --- a/modules/desktop-environment/stylix.nix +++ b/modules/de/themeing.nix @@ -38,5 +38,17 @@ dunst.enable = false; wofi.enable = false; }; + gtk = { + enable = true; + cursorTheme = { + package = pkgs.phinger-cursors; + name = "phinger-cursors"; + size = 30; + }; + iconTheme = { + package = pkgs.gruvbox-dark-icons-gtk; + name = "gruvbox-dark-icons"; + }; + }; }; } diff --git a/modules/desktop-environment/tlp.nix b/modules/de/tlp.nix similarity index 100% rename from modules/desktop-environment/tlp.nix rename to modules/de/tlp.nix diff --git a/modules/default.nix b/modules/default.nix index afe2abc..44c9a43 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -3,9 +3,10 @@ ./shell ./desktop ./hardware - ./firewall.nix - ./desktop-environment + ./de + ./net ./input + ./media ./graphics.nix ]; } diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index a069ad7..ad4114d 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -7,11 +7,8 @@ with lib; { imports = [ ./gaming.nix - # TODO: more fine grained choices, not every setup needs fspy or rawtherapee ./syncthing.nix ./kdeconnect.nix - ./themeing.nix - ./networking.nix ./social.nix ]; diff --git a/modules/desktop/networking.nix b/modules/desktop/networking.nix deleted file mode 100644 index d32d49b..0000000 --- a/modules/desktop/networking.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - addNuShebang = path: - builtins.concatStringsSep "\n\n" [ - "#!${pkgs.nushell}/bin/nu" - (builtins.readFile path) - ]; -in { - config = { - networking = { - networkmanager = { - wifi.backend = "wpa_supplicant"; - dispatcherScripts = [ - { - type = "basic"; - source = pkgs.writeText "dispatcher" (addNuShebang ../../other/scripts/dispatcher.nu); - } - ]; - }; - hosts = { - "127.0.0.1" = [ - "www.tiktok.com" - "www.twitter.com" - "www.instagram.com" - "www.facebook.com" - "www.snapchat.com" - - "tiktok.com" - "twitter.com" - "instagram.com" - "facebook.com" - "snapchat.com" - - "google-analytics.com" - "stats.g.doubleclick.net" - "googleadservices.com" - "googletagmanager.com" - "googletagservices.com" - "googlesyndication.com" - ]; - }; - }; - environment.etc = with builtins; ( - listToAttrs ( - map (v: { - name = "networkhooks/${v}"; - value = { - text = addNuShebang ../../other/scripts/networkhooks/${v}; - mode = "0755"; - }; - }) - (attrNames (readDir ../../other/scripts/networkhooks)) - ) - ); - systemd.services."NetworkManager-wait-online".enable = false; - services.mullvad-vpn.enable = true; - home-manager.users.jade = {pkgs, ...}: { - home.packages = with pkgs; [ - networkmanagerapplet - mullvad-vpn - macchanger - ]; - }; - }; -} diff --git a/modules/desktop/themeing.nix b/modules/desktop/themeing.nix deleted file mode 100644 index 1803dc4..0000000 --- a/modules/desktop/themeing.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: { - config = { - # fonts.packages = with pkgs; [ - # atkinson-hyperlegible - # ]; - home-manager.users.jade = {pkgs, ...}: { - home.packages = with pkgs; [ - # gtk-engine-murrine - # gruvbox-dark-gtk - gruvbox-dark-icons-gtk - ]; - gtk = { - # enable = true; - cursorTheme = { - package = pkgs.phinger-cursors; - name = "phinger-cursors"; - size = 30; - }; - # font = { - # package = pkgs.atkinson-hyperlegible; - # name = "Atkinson Hyperlegible"; - # size = 11.5; - # }; - iconTheme = { - package = pkgs.gruvbox-dark-icons-gtk; - name = "gruvbox-dark-icons"; - }; - }; - # theme = { - # package = pkgs.gruvbox-dark-gtk; - # name = "gruvbox-dark"; - # }; - # }; - # qt = { - # enable = true; - # platformTheme.name = "gtk"; - # }; - }; - }; -} diff --git a/modules/desktop-environment/media/default.nix b/modules/media/default.nix similarity index 100% rename from modules/desktop-environment/media/default.nix rename to modules/media/default.nix diff --git a/modules/desktop-environment/media/fonts.nix b/modules/media/fonts.nix similarity index 100% rename from modules/desktop-environment/media/fonts.nix rename to modules/media/fonts.nix diff --git a/modules/desktop-environment/media/obs.nix b/modules/media/obs.nix similarity index 100% rename from modules/desktop-environment/media/obs.nix rename to modules/media/obs.nix diff --git a/modules/desktop-environment/media/typst.nix b/modules/media/typst.nix similarity index 100% rename from modules/desktop-environment/media/typst.nix rename to modules/media/typst.nix diff --git a/modules/net/default.nix b/modules/net/default.nix new file mode 100644 index 0000000..3bbc4af --- /dev/null +++ b/modules/net/default.nix @@ -0,0 +1,17 @@ +{...}: { + imports = [ + ./firewall.nix + ./hosts.nix + ./dispatchers + ]; + networking.networkmanager.wifi.backend = "wpa_supplicant"; + systemd.services."NetworkManager-wait-online".enable = false; + services.mullvad-vpn.enable = true; + home-manager.users.jade = {pkgs, ...}: { + home.packages = with pkgs; [ + networkmanagerapplet + mullvad-vpn + macchanger + ]; + }; +} diff --git a/modules/net/dispatchers/default.nix b/modules/net/dispatchers/default.nix new file mode 100644 index 0000000..656d9cd --- /dev/null +++ b/modules/net/dispatchers/default.nix @@ -0,0 +1,27 @@ +{pkgs, ...}: let + addNuShebang = path: + builtins.concatStringsSep "\n\n" [ + "#!${pkgs.nushell}/bin/nu" + (builtins.readFile path) + ]; +in { + networking.networkmanager.dispatcherScripts = [ + { + type = "basic"; + source = pkgs.writeText "dispatcher" (addNuShebang ./dispatcher.nu); + } + ]; + + environment.etc = with builtins; ( + listToAttrs ( + map (v: { + name = "networkhooks/${v}"; + value = { + text = addNuShebang ./hooks/${v}; + mode = "0755"; + }; + }) + (attrNames (readDir ./hooks)) + ) + ); +} diff --git a/other/scripts/dispatcher.nu b/modules/net/dispatchers/dispatcher.nu similarity index 100% rename from other/scripts/dispatcher.nu rename to modules/net/dispatchers/dispatcher.nu diff --git a/other/scripts/networkhooks/WIFI@DB.nu b/modules/net/dispatchers/hooks/WIFI@DB.nu similarity index 100% rename from other/scripts/networkhooks/WIFI@DB.nu rename to modules/net/dispatchers/hooks/WIFI@DB.nu diff --git a/other/scripts/networkhooks/WIFIonICE.nu b/modules/net/dispatchers/hooks/WIFIonICE.nu similarity index 100% rename from other/scripts/networkhooks/WIFIonICE.nu rename to modules/net/dispatchers/hooks/WIFIonICE.nu diff --git a/other/scripts/networkhooks/ccchh.nu b/modules/net/dispatchers/hooks/ccchh.nu similarity index 100% rename from other/scripts/networkhooks/ccchh.nu rename to modules/net/dispatchers/hooks/ccchh.nu diff --git a/modules/firewall.nix b/modules/net/firewall.nix similarity index 100% rename from modules/firewall.nix rename to modules/net/firewall.nix diff --git a/modules/net/hosts.nix b/modules/net/hosts.nix new file mode 100644 index 0000000..1bfb877 --- /dev/null +++ b/modules/net/hosts.nix @@ -0,0 +1,24 @@ +{...}: { + networking.hosts = { + "127.0.0.1" = [ + "www.tiktok.com" + "www.twitter.com" + "www.instagram.com" + "www.facebook.com" + "www.snapchat.com" + + "tiktok.com" + "twitter.com" + "instagram.com" + "facebook.com" + "snapchat.com" + + "google-analytics.com" + "stats.g.doubleclick.net" + "googleadservices.com" + "googletagmanager.com" + "googletagservices.com" + "googlesyndication.com" + ]; + }; +} diff --git a/modules/shell/tty.nix b/modules/shell/tty.nix index 764d905..becd7b0 100644 --- a/modules/shell/tty.nix +++ b/modules/shell/tty.nix @@ -1,10 +1,4 @@ -{ - pkgs, - config, - lib, - ... -}: let - # generate shell command options for kmscon fom an attrset +{config, ...}: let generateOptions = with builtins; ( opts: toString ( @@ -13,26 +7,6 @@ ) ) ); - # generate a hexadecimal number lookup table to get integers from them - hexLookupTable = with lib; (listToAttrs (genList (i: { - name = let - r = toHexString i; - in ( - # pad with 0 in front if only 1 digit - if (stringLength r) == 1 - then "0${r}" - else r - ); - value = toString i; - }) - 256)); - # "parse" hex color strings and convert them to kmscon options - hexToOpt = with lib; (color: - concatStringsSep "," [ - (getAttr (substring 1 2 (toUpper color)) hexLookupTable) - (getAttr (substring 3 2 (toUpper color)) hexLookupTable) - (getAttr (substring 5 2 (toUpper color)) hexLookupTable) - ]); in { # TODO: global colorscheme vars for everything console.colors = [ @@ -56,37 +30,10 @@ in { services.kmscon = { enable = true; - # fonts = [ - # { - # name = "Departure Mono Nerd Font"; - # package = pkgs.nerd-fonts.departure-mono; - # } - # ]; extraConfig = "font-size=14"; - # extraOptions = "--term xterm-256color"; extraOptions = generateOptions { xkb-layout = config.services.xserver.xkb.layout; xkb-variant = config.services.xserver.xkb.variant; - - # palette = "custom"; - # palette-foreground = hexToOpt "#ebdbb2"; - # palette-background = hexToOpt "#282828"; - # palette-black = hexToOpt "#282828"; - # palette-red = hexToOpt "#cc241d"; - # palette-green = hexToOpt "#98971a"; - # palette-yellow = hexToOpt "#d79921"; - # palette-blue = hexToOpt "#458588"; - # palette-magenta = hexToOpt "#b16286"; - # palette-cyan = hexToOpt "#689d6a"; - # palette-light-grey = hexToOpt "#a89984"; - # palette-dark-grey = hexToOpt "#928374"; - # palette-light-red = hexToOpt "#fb4934"; - # palette-light-green = hexToOpt "#b8bb26"; - # palette-light-yellow = hexToOpt "#fabd2f"; - # palette-light-blue = hexToOpt "#83a598"; - # palette-light-magenta = hexToOpt "#d3869b"; - # palette-light-cyan = hexToOpt "#8ec07c"; - # palette-white = hexToOpt "#ebdbb2"; }; hwRender = true; }; diff --git a/modules/utils.nix b/modules/utils.nix deleted file mode 100644 index 1de413c..0000000 --- a/modules/utils.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ - pkgs, - lib, -}: rec { - # taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335 - writeNuShellApplication = { - name, - text, - runtimeInputs ? [], - meta ? {}, - checkPhase ? null, - }: - writeTextFile { - inherit name meta; - executable = true; - destination = "/bin/${name}"; - allowSubstitutes = true; - preferLocalBuild = false; - text = - '' - #!${pkgs.nushell} - '' - + lib.optionalString (runtimeInputs != []) '' - - $env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}'); - '' - + '' - - ${text} - ''; - - checkPhase = - # GHC (=> shellcheck) isn't supported on some platforms (such as risc-v) - # but we still want to use writeShellApplication on those platforms - if checkPhase == null - then '' - runHook preCheck - - nu -c "nu-check -d $target" - - runHook postCheck - '' - else checkPhase; - }; - packageNushellApplication = { - name, - path, - runtimeInputs ? [], - meta ? {}, - checkPhase ? null, - }: - writeNuShellApplication { - inherit name runtimeInputs meta checkPhase; - text = builtins.readFile path; - }; -}