From 8cf8c5609d4e0396d438a466421d1bcf9179debc Mon Sep 17 00:00:00 2001 From: twoneis Date: Tue, 2 Jul 2024 03:01:43 +0200 Subject: [PATCH] restructure --- modules/audio/default.nix | 11 -- modules/bluetooth/default.nix | 14 --- modules/default.nix | 25 +---- modules/home/default.nix | 6 -- modules/home/programs/default.nix | 60 ----------- modules/home/themes/default.nix | 48 --------- modules/home/utils/default.nix | 101 ------------------ modules/niri/default.nix | 8 +- .../{fuzzel-settings.nix => fuzzel.conf.nix} | 0 .../niri/{niri-settings.nix => niri.conf.nix} | 0 ...waylock-settings.nix => swaylock.conf.nix} | 0 .../{waybar-settings.nix => waybar.conf.nix} | 0 modules/plasma/default.nix | 18 ---- .../alacritty.conf.nix} | 0 modules/user/default.nix | 31 ++++++ modules/{home/programs => user}/firefox.nix | 0 modules/user/programs.nix | 70 ++++++++++++ modules/user/themes.nix | 50 +++++++++ .../vencord.conf.json} | 0 .../vesktop.conf.json} | 0 modules/utils/default.nix | 95 ++++++++++++++++ .../utils/gdbinit => utils/gdbinit.conf} | 0 .../helix-languages.conf.nix} | 0 .../helix-config.nix => utils/helix.conf.nix} | 0 modules/utils/hyfetch.conf.nix | 11 ++ modules/{virt => vm}/default.nix | 0 26 files changed, 265 insertions(+), 283 deletions(-) delete mode 100644 modules/audio/default.nix delete mode 100644 modules/bluetooth/default.nix delete mode 100644 modules/home/programs/default.nix delete mode 100644 modules/home/themes/default.nix delete mode 100644 modules/home/utils/default.nix rename modules/niri/{fuzzel-settings.nix => fuzzel.conf.nix} (100%) rename modules/niri/{niri-settings.nix => niri.conf.nix} (100%) rename modules/niri/{swaylock-settings.nix => swaylock.conf.nix} (100%) rename modules/niri/{waybar-settings.nix => waybar.conf.nix} (100%) delete mode 100644 modules/plasma/default.nix rename modules/{home/programs/alacritty-config.nix => user/alacritty.conf.nix} (100%) create mode 100644 modules/user/default.nix rename modules/{home/programs => user}/firefox.nix (100%) create mode 100644 modules/user/programs.nix create mode 100644 modules/user/themes.nix rename modules/{home/programs/vencord-settings.json => user/vencord.conf.json} (100%) rename modules/{home/programs/vesktop-settings.json => user/vesktop.conf.json} (100%) create mode 100644 modules/utils/default.nix rename modules/{home/utils/gdbinit => utils/gdbinit.conf} (100%) rename modules/{home/utils/helix-languages.nix => utils/helix-languages.conf.nix} (100%) rename modules/{home/utils/helix-config.nix => utils/helix.conf.nix} (100%) create mode 100644 modules/utils/hyfetch.conf.nix rename modules/{virt => vm}/default.nix (100%) diff --git a/modules/audio/default.nix b/modules/audio/default.nix deleted file mode 100644 index 1bf3142..0000000 --- a/modules/audio/default.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ lib, config, ... }: lib.mkIf(config.withAudio) { - security.rtkit.enable = true; - - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; -} diff --git a/modules/bluetooth/default.nix b/modules/bluetooth/default.nix deleted file mode 100644 index e3bdc8f..0000000 --- a/modules/bluetooth/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ lib, config, ... }: lib.mkIf(config.withBluetooth) { - hardware.bluetooth = { - enable = true; - powerOnBoot = true; - settings = { - General = { - Enable = "Source,Sink,Media,Socket"; - Experimental = true; - }; - }; - }; - - services.blueman.enable = true; -} diff --git a/modules/default.nix b/modules/default.nix index dbbe28b..28aefbe 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,13 +1,14 @@ { inputs, pkgs, lib, ... }: { imports = [ ./colors.nix - ./audio - ./bluetooth ./containers ./games + ./gnome ./home ./niri - ./virt + ./user + ./utils + ./vm ]; nixpkgs = { @@ -45,10 +46,6 @@ '' 10.10.11.245 surveillance.htb ''; - # 57621: spotifyd - firewall.allowedTCPPorts = [ - 57621 - ]; }; time.timeZone = "Europe/Amsterdam"; @@ -78,18 +75,4 @@ description = "twoneis"; extraGroups = [ "networkmanager" "wheel" ]; }; - services = { - # Needed for some features in nautilus such as auto-mounting and trash - gvfs.enable = true; - - xserver = { - enable = true; - displayManager.gdm = { - enable = true; - }; - }; - }; - - programs.fish.enable = true; - users.defaultUserShell = pkgs.fish; } diff --git a/modules/home/default.nix b/modules/home/default.nix index 26f0092..ecee012 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -4,12 +4,6 @@ useUserPackages = true; users.twoneis = { - imports = [ - ./utils - ./programs - ./themes - ]; - home = { username = "twoneis"; homeDirectory = "/home/twoneis"; diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix deleted file mode 100644 index 6c644a3..0000000 --- a/modules/home/programs/default.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ pkgs, osConfig, ... }: { - imports = [ - ./firefox.nix - ]; - - home.packages = with pkgs; [ - signal-desktop - vesktop - fractal - loupe - snapshot - gnome.nautilus - libreoffice-qt6-fresh - ]; - - home.file = { - ".config/vesktop/settings.json" = { - source = ./vesktop-settings.json; - }; - ".config/vesktop/settings/settings.json" = { - source = ./vencord-settings.json; - }; - }; - - programs.pandoc = { - enable = true; - }; - - programs.mpv = { - enable = true; - }; - - services.spotifyd = { - enable = true; - settings = { - global = { - device_name = osConfig.networking.hostName; - bitrate = 320; - volume_normalisation = true; - autoplay = false; - zeroconf_port = 57621; - }; - }; - }; - - programs.thunderbird = { - enable = true; - profiles = { - "default" = { - isDefault = true; - }; - }; - }; - - programs.alacritty = { - enable = true; - settings = import ./alacritty-config.nix; - }; - -} diff --git a/modules/home/themes/default.nix b/modules/home/themes/default.nix deleted file mode 100644 index 18c0244..0000000 --- a/modules/home/themes/default.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ pkgs, ... }: { - home.packages = with pkgs; [ - gnome.adwaita-icon-theme - adwaita-qt - adwaita-qt6 - ]; - - qt = { - enable = true; - platformTheme.name = "kde"; - style.name = "adwaita-dark"; - }; - - gtk = { - enable = true; - gtk4.extraConfig = { - gtk-application-prefer-dark-theme = true; - }; - gtk3.extraConfig = { - gtk-application-prefer-dark-theme = true; - }; - gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n"; - theme.name = "Adwaita Dark"; - }; - - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - }; - }; - - home.pointerCursor = let getFrom = url: hash: name: { - gtk.enable = true; - x11.enable = true; - name = name; - size = 24; - package = pkgs.runCommand "moveUp" {} '' - mkdir -p $out/share/icons - ln -s ${pkgs.fetchzip{ - url = url; - hash = hash; - }} $out/share/icons/${name} - ''; - }; in getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezX-RosePine-Linux"; -} diff --git a/modules/home/utils/default.nix b/modules/home/utils/default.nix deleted file mode 100644 index ee3a563..0000000 --- a/modules/home/utils/default.nix +++ /dev/null @@ -1,101 +0,0 @@ -{ pkgs, ... }: { - home.packages = with pkgs; [ - man-pages - man-pages-posix - tree - file - zip - unzip - gnutar - lshw - netcat-openbsd - ]; - - home.file = { - ".gdbinit" = { - source = ./gdbinit; - }; - }; - - programs.man = { - enable = true; - }; - - programs.less = { - enable = true; - keys = '' - t back-line - n forw-line - ''; - }; - - programs.git = { - enable = true; - userName = "twoneis"; - userEmail = "sanjay29@sapura.de"; - extraConfig = { - init.defaultBranch = "main"; - push.autoSetupRemote = true; - }; - }; - - programs.gh = { - enable = true; - gitCredentialHelper.enable = true; - }; - - programs.helix = { - enable = true; - defaultEditor = true; - extraPackages = with pkgs; [ nil marksman ]; - settings = import ./helix-config.nix; - languages = import ./helix-languages.nix; - }; - - programs.direnv = { - enable = true; - enableBashIntegration = true; - nix-direnv.enable = true; - }; - - programs.bottom = { - enable = true; - }; - - programs.hyfetch = { - enable = true; - settings = { - preset = "transgender"; - mode = "rgb"; - light_dark = "dark"; - lightness = 0.65; - color_align = { - mode = "horizontal"; - }; - backend = "neofetch"; - distro = "nixos_old"; - }; - }; - - programs.fish = { - enable = true; - plugins = with pkgs.fishPlugins; [ - { name = "tide"; src = pure.src; } - { name = "bass"; src = bass.src; } - { name = "sponge"; src = sponge.src; } - ]; - shellAbbrs = { - ga = "git add"; - gc = "git commit"; - gp = "git push"; - gs = "git submodule sync --recursive && git submodule update --init --recursive"; - gpl = "git pull --recurse-submodules"; - gst = "git status"; - - repl = "nix repl --expr 'import {}'"; - - nrb = "sudo nixos-rebuild switch --cores 0 --flake ."; - nd = "nix develop"; - }; - }; -} diff --git a/modules/niri/default.nix b/modules/niri/default.nix index 5d377d7..6021437 100644 --- a/modules/niri/default.nix +++ b/modules/niri/default.nix @@ -8,17 +8,17 @@ ]; programs.niri = { - settings = import ./niri-settings.nix { config = config; }; + settings = import ./niri.conf.nix { config = config; }; }; programs.fuzzel= { enable = true; - settings = import ./fuzzel-settings.nix { lib = lib; config = config; }; + settings = import ./fuzzel.conf.nix { lib = lib; config = config; }; }; programs.waybar = { enable = true; - settings = import ./waybar-settings.nix { config = config; }; + settings = import ./waybar.conf.nix { config = config; }; style = builtins.readFile(./waybar.css); }; @@ -38,7 +38,7 @@ programs.swaylock = { enable = true; package = pkgs.swaylock-effects; - settings = import ./swaylock-settings.nix { lib = lib; config = config; }; + settings = import ./swaylock.conf.nix { lib = lib; config = config; }; }; }; } diff --git a/modules/niri/fuzzel-settings.nix b/modules/niri/fuzzel.conf.nix similarity index 100% rename from modules/niri/fuzzel-settings.nix rename to modules/niri/fuzzel.conf.nix diff --git a/modules/niri/niri-settings.nix b/modules/niri/niri.conf.nix similarity index 100% rename from modules/niri/niri-settings.nix rename to modules/niri/niri.conf.nix diff --git a/modules/niri/swaylock-settings.nix b/modules/niri/swaylock.conf.nix similarity index 100% rename from modules/niri/swaylock-settings.nix rename to modules/niri/swaylock.conf.nix diff --git a/modules/niri/waybar-settings.nix b/modules/niri/waybar.conf.nix similarity index 100% rename from modules/niri/waybar-settings.nix rename to modules/niri/waybar.conf.nix diff --git a/modules/plasma/default.nix b/modules/plasma/default.nix deleted file mode 100644 index aba92d3..0000000 --- a/modules/plasma/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ lib, config, pkgs, ... }: lib.mkIf (config.withPlasma) { - services.desktopManager.plasma6.enable = true; - environment.plasma6.excludePackages = with pkgs; [ - plasma-browser-integration - konsole - ark - elisa - gwenview - okular - kate - khelpcenter - print-manager - dolphin - dolphin-plugins - spectacle - ffmpegthumbs - ]; -} diff --git a/modules/home/programs/alacritty-config.nix b/modules/user/alacritty.conf.nix similarity index 100% rename from modules/home/programs/alacritty-config.nix rename to modules/user/alacritty.conf.nix diff --git a/modules/user/default.nix b/modules/user/default.nix new file mode 100644 index 0000000..d634c87 --- /dev/null +++ b/modules/user/default.nix @@ -0,0 +1,31 @@ +{ lib, config, ... }: lib.mkIf (config.user) { + imports = [ + ./programs.nix + ./themes.nix + ]; + + # Audio + security.rtkit.enable = true; + + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + + # Bluetooth + hardware.bluetooth = { + enable = true; + powerOnBoot = true; + settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + Experimental = true; + }; + }; + }; + + services.blueman.enable = true; +} diff --git a/modules/home/programs/firefox.nix b/modules/user/firefox.nix similarity index 100% rename from modules/home/programs/firefox.nix rename to modules/user/firefox.nix diff --git a/modules/user/programs.nix b/modules/user/programs.nix new file mode 100644 index 0000000..f7c8e9e --- /dev/null +++ b/modules/user/programs.nix @@ -0,0 +1,70 @@ +{ config, pkgs, ... }: { + networking.firewall.allowedTCPPorts = [ + 57621 # spotifyd + ]; + + services = { + # Needed for some features in nautilus such as auto-mounting and trash + gvfs.enable = true; + }; + + home-manager.users.twoneis = { + imports = [ + ./firefox.nix + ]; + + home.packages = with pkgs; [ + signal-desktop + vesktop + fractal + loupe + snapshot + gnome.nautilus + libreoffice-qt6-fresh + ]; + + home.file = { + ".config/vesktop/settings.json" = { + source = ./vesktop.conf.json; + }; + ".config/vesktop/settings/settings.json" = { + source = ./vencord.conf.json; + }; + }; + + programs.pandoc = { + enable = true; + }; + + programs.mpv = { + enable = true; + }; + + services.spotifyd = { + enable = true; + settings = { + global = { + device_name = config.networking.hostName; + bitrate = 320; + volume_normalisation = true; + autoplay = false; + zeroconf_port = 57621; + }; + }; + }; + + programs.thunderbird = { + enable = true; + profiles = { + "default" = { + isDefault = true; + }; + }; + }; + + programs.alacritty = { + enable = true; + settings = import ./alacritty.conf.nix; + }; + }; +} diff --git a/modules/user/themes.nix b/modules/user/themes.nix new file mode 100644 index 0000000..6f87737 --- /dev/null +++ b/modules/user/themes.nix @@ -0,0 +1,50 @@ +{ pkgs, ... }: { + home-manager.users.twoneis = { + home.packages = with pkgs; [ + gnome.adwaita-icon-theme + adwaita-qt + adwaita-qt6 + ]; + + qt = { + enable = true; + platformTheme.name = "kde"; + style.name = "adwaita-dark"; + }; + + gtk = { + enable = true; + gtk4.extraConfig = { + gtk-application-prefer-dark-theme = true; + }; + gtk3.extraConfig = { + gtk-application-prefer-dark-theme = true; + }; + gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n"; + theme.name = "Adwaita Dark"; + }; + + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; + + home.pointerCursor = let getFrom = url: hash: name: { + gtk.enable = true; + x11.enable = true; + name = name; + size = 24; + package = pkgs.runCommand "moveUp" {} '' + mkdir -p $out/share/icons + ln -s ${pkgs.fetchzip{ + url = url; + hash = hash; + }} $out/share/icons/${name} + ''; + }; in getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezX-RosePine-Linux"; + }; +} diff --git a/modules/home/programs/vencord-settings.json b/modules/user/vencord.conf.json similarity index 100% rename from modules/home/programs/vencord-settings.json rename to modules/user/vencord.conf.json diff --git a/modules/home/programs/vesktop-settings.json b/modules/user/vesktop.conf.json similarity index 100% rename from modules/home/programs/vesktop-settings.json rename to modules/user/vesktop.conf.json diff --git a/modules/utils/default.nix b/modules/utils/default.nix new file mode 100644 index 0000000..570de48 --- /dev/null +++ b/modules/utils/default.nix @@ -0,0 +1,95 @@ +{ pkgs, ... }: { + programs.fish.enable = true; + users.defaultUserShell = pkgs.fish; + + home-manager.users.twoneis = { + home.packages = with pkgs; [ + man-pages + man-pages-posix + tree + file + zip + unzip + gnutar + lshw + netcat-openbsd + ]; + + home.file = { + ".gdbinit" = { + source = ./gdbinit; + }; + }; + + programs.man = { + enable = true; + }; + + programs.less = { + enable = true; + keys = '' + t back-line + n forw-line + ''; + }; + + programs.git = { + enable = true; + userName = "twoneis"; + userEmail = "sanjay29@sapura.de"; + extraConfig = { + init.defaultBranch = "main"; + push.autoSetupRemote = true; + }; + }; + + programs.gh = { + enable = true; + gitCredentialHelper.enable = true; + }; + + programs.helix = { + enable = true; + defaultEditor = true; + extraPackages = with pkgs; [ nil marksman ]; + settings = import ./helix.conf.nix; + languages = import ./helix-languages.conf.nix; + }; + + programs.direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + + programs.bottom = { + enable = true; + }; + + programs.hyfetch = { + enable = true; + settings = import ./hyfetch.conf.nix { }; + }; + + programs.fish = { + enable = true; + plugins = with pkgs.fishPlugins; [ + { name = "tide"; src = pure.src; } + { name = "bass"; src = bass.src; } + ]; + shellAbbrs = { + ga = "git add"; + gc = "git commit"; + gp = "git push"; + gs = "git submodule sync --recursive && git submodule update --init --recursive"; + gpl = "git pull --recurse-submodules"; + gst = "git status"; + + repl = "nix repl --expr 'import {}'"; + + nrb = "sudo nixos-rebuild switch --cores 0 --flake ."; + nd = "nix develop"; + }; + }; + }; +} diff --git a/modules/home/utils/gdbinit b/modules/utils/gdbinit.conf similarity index 100% rename from modules/home/utils/gdbinit rename to modules/utils/gdbinit.conf diff --git a/modules/home/utils/helix-languages.nix b/modules/utils/helix-languages.conf.nix similarity index 100% rename from modules/home/utils/helix-languages.nix rename to modules/utils/helix-languages.conf.nix diff --git a/modules/home/utils/helix-config.nix b/modules/utils/helix.conf.nix similarity index 100% rename from modules/home/utils/helix-config.nix rename to modules/utils/helix.conf.nix diff --git a/modules/utils/hyfetch.conf.nix b/modules/utils/hyfetch.conf.nix new file mode 100644 index 0000000..5dde5bf --- /dev/null +++ b/modules/utils/hyfetch.conf.nix @@ -0,0 +1,11 @@ +{ ... }: { + preset = "transgender"; + mode = "rgb"; + light_dark = "dark"; + lightness = 0.65; + color_align = { + mode = "horizontal"; + }; + backend = "neofetch"; + distro = "nixos_old"; +} diff --git a/modules/virt/default.nix b/modules/vm/default.nix similarity index 100% rename from modules/virt/default.nix rename to modules/vm/default.nix