diff options
| author | seraphim <18ycm9tx@anonaddy.me> | 2026-07-29 22:09:05 +0700 |
|---|---|---|
| committer | seraphim <18ycm9tx@anonaddy.me> | 2026-07-29 22:09:05 +0700 |
| commit | 73ddb338cd7542f9569a9ab5cb0481b4f0636710 (patch) | |
| tree | 559d8c542d6e965e674a46c9451efc1cb80f203a /nixos/modules/features | |
| parent | abd12d161f0aaac458abeb139556ea5ccc1fcae8 (diff) | |
.
Diffstat (limited to 'nixos/modules/features')
20 files changed, 307 insertions, 0 deletions
diff --git a/nixos/modules/features/appimage/default.nix b/nixos/modules/features/appimage/default.nix new file mode 100644 index 0000000..b291735 --- /dev/null +++ b/nixos/modules/features/appimage/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + programs.appimage = { + enable = true; + binfmt = true; + package = pkgs.appimage-run.override { + extraPkgs = pkgs: [ + pkgs.webkitgtk_4_1 + ]; + }; + }; +}
\ No newline at end of file diff --git a/nixos/modules/features/audio-tools/default.nix b/nixos/modules/features/audio-tools/default.nix new file mode 100644 index 0000000..b3013b0 --- /dev/null +++ b/nixos/modules/features/audio-tools/default.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + mpc + mpd + mpd-mpris + mpv + rmpc + pavucontrol + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/binary-compat/default.nix b/nixos/modules/features/binary-compat/default.nix new file mode 100644 index 0000000..f2ad751 --- /dev/null +++ b/nixos/modules/features/binary-compat/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: + +{ + # Libraries shipped so non-Nix binaries (AppImages, dynamically linked + # programs via nix-ld) can resolve their runtime deps. + environment.systemPackages = with pkgs; [ + cacert + libGL + nss + cups + libdrm + glib + pango + gtk3 + zlib + expat + alsa-lib + libxkbcommon + atk + pkg-config + cmake + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/cli-tools/default.nix b/nixos/modules/features/cli-tools/default.nix new file mode 100644 index 0000000..2cb6f25 --- /dev/null +++ b/nixos/modules/features/cli-tools/default.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + tree + pkgs.libsixel + fd + fzf + eza + stow + util-linux + nftables + pkgs.rsync + cryptsetup + yt-dlp + caligula + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/desktop-apps/default.nix b/nixos/modules/features/desktop-apps/default.nix new file mode 100644 index 0000000..59dda45 --- /dev/null +++ b/nixos/modules/features/desktop-apps/default.nix @@ -0,0 +1,18 @@ +{ pkgs, inputs, ... }: + +{ + environment.systemPackages = with pkgs; [ + inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.helium + secretspec + claude-code + keepassxc + libreoffice + hunspellDicts.ru_RU + opencode + pkgs.ayugram-desktop + pkgs.legcord + pkgs.amnezia-vpn + obsidian + pkgs.qbittorrent + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/dev-tools/default.nix b/nixos/modules/features/dev-tools/default.nix new file mode 100644 index 0000000..2215b49 --- /dev/null +++ b/nixos/modules/features/dev-tools/default.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + black + cargo + clang + clippy + gcc + git + gnumake + nodejs + pyright + python3 + rust-analyzer + rustc + tree-sitter + pkgs.wireshark + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/editors/default.nix b/nixos/modules/features/editors/default.nix new file mode 100644 index 0000000..1570aa3 --- /dev/null +++ b/nixos/modules/features/editors/default.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + micro + neovim + (emacs.override { withNativeCompilation = true; }) + pkgs.vimPlugins.im-select-nvim + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/file-managers/default.nix b/nixos/modules/features/file-managers/default.nix new file mode 100644 index 0000000..03bd41d --- /dev/null +++ b/nixos/modules/features/file-managers/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + file-roller + kdePackages.ark + kdePackages.qt6ct + loupe + nautilus + sushi + yazi + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/fonts/default.nix b/nixos/modules/features/fonts/default.nix new file mode 100644 index 0000000..8ac4785 --- /dev/null +++ b/nixos/modules/features/fonts/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + fonts.fontconfig.enable = true; + + environment.systemPackages = with pkgs; [ + font-awesome + nerd-fonts.jetbrains-mono + nerd-fonts.symbols-only + jetbrains-mono + noto-fonts-color-emoji + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/gst-codecs/default.nix b/nixos/modules/features/gst-codecs/default.nix new file mode 100644 index 0000000..7a85bf2 --- /dev/null +++ b/nixos/modules/features/gst-codecs/default.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + gst_all_1.gst-plugins-bad + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gst-plugins-ugly + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/monitoring/default.nix b/nixos/modules/features/monitoring/default.nix new file mode 100644 index 0000000..df0a937 --- /dev/null +++ b/nixos/modules/features/monitoring/default.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + (btop.override { cudaSupport = true; }) + duf + fastfetch + ghfetch + hyfetch + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/mpd/default.nix b/nixos/modules/features/mpd/default.nix new file mode 100644 index 0000000..383180d --- /dev/null +++ b/nixos/modules/features/mpd/default.nix @@ -0,0 +1,39 @@ +{ pkgs, ... }: + +{ + # MPD server + services.mpd = { + enable = true; + user = "seraphim"; + openFirewall = false; + settings = { + music_directory = "/mnt/giga/music"; + bind_to_address = "any"; + port = 6600; + auto_update = "yes"; + audio_output = [ + { + type = "pulse"; + name = "PipeWire Output"; + mixer_type = "hardware"; + } + ]; + }; + }; + + systemd.services.mpd.environment = { + XDG_RUNTIME_DIR = "/run/user/1000"; + }; + + # mpd-mpris is the MPRIS bridge for MPD — only useful when MPD is on, + # so it lives in the same feature. Disable by removing this block. + systemd.user.services.mpd-mpris = { + description = "MPD MPRIS Service for Waybar"; + wantedBy = [ "default.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "${pkgs.mpd-mpris}/bin/mpd-mpris -network tcp -host 127.0.0.1 -port 6600"; + Restart = "on-failure"; + }; + }; +}
\ No newline at end of file diff --git a/nixos/modules/features/niri/default.nix b/nixos/modules/features/niri/default.nix new file mode 100644 index 0000000..84f1d15 --- /dev/null +++ b/nixos/modules/features/niri/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + programs.niri.enable = true; + systemd.user.services.niri.enableDefaultPath = false; + + environment.systemPackages = with pkgs; [ + adwaita-icon-theme + bibata-cursors + hicolor-icon-theme + hyprpolkitagent + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/noctalia-greeter/default.nix b/nixos/modules/features/noctalia-greeter/default.nix new file mode 100644 index 0000000..b80465c --- /dev/null +++ b/nixos/modules/features/noctalia-greeter/default.nix @@ -0,0 +1,18 @@ +{ pkgs, inputs, ... }: + +{ + imports = [ + inputs.noctalia-greeter.nixosModules.default + ]; + + programs.noctalia-greeter = { + enable = true; + settings = { + cursor = { + theme = "Bibata-Modern-Ice"; + size = 24; + path = "${pkgs.bibata-cursors}/share/icons"; + }; + }; + }; +} diff --git a/nixos/modules/features/noctalia-shell/default.nix b/nixos/modules/features/noctalia-shell/default.nix new file mode 100644 index 0000000..a137d32 --- /dev/null +++ b/nixos/modules/features/noctalia-shell/default.nix @@ -0,0 +1,10 @@ +{ pkgs, inputs, ... }: + +{ + environment.systemPackages = with pkgs; [ + # v5 from the flake input + inputs.noctalia.packages.${stdenv.hostPlatform.system}.default + # packaged copy from nixpkgs (also installed in the original config) + noctalia-shell + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/nvidia/default.nix b/nixos/modules/features/nvidia/default.nix new file mode 100644 index 0000000..30a8c28 --- /dev/null +++ b/nixos/modules/features/nvidia/default.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: + +{ + hardware.nvidia = { + modesetting.enable = true; + powerManagement.enable = false; + open = false; + nvidiaSettings = true; + package = config.boot.kernelPackages.nvidiaPackages.latest; + }; + + environment.systemPackages = with pkgs; [ + nvidia-vaapi-driver + ]; + + environment.sessionVariables = { + LIBVA_DRIVER_NAME = "nvidia"; + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; + NIXOS_OZONE_WL = "1"; + }; +}
\ No newline at end of file diff --git a/nixos/modules/features/starship/default.nix b/nixos/modules/features/starship/default.nix new file mode 100644 index 0000000..b364c5d --- /dev/null +++ b/nixos/modules/features/starship/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + programs.starship.enable = true; +}
\ No newline at end of file diff --git a/nixos/modules/features/swingmusic/default.nix b/nixos/modules/features/swingmusic/default.nix new file mode 100644 index 0000000..6c3bc90 --- /dev/null +++ b/nixos/modules/features/swingmusic/default.nix @@ -0,0 +1,19 @@ +{ ... }: + +{ + systemd.user.services.swingmusic = { + description = "Swing Music Local Server"; + wantedBy = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "/home/seraphim/.swingmusic/swingmusic"; + Restart = "on-failure"; + WorkingDirectory = "/home/seraphim"; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectSystem = "strict"; + ProtectHome = "false"; + RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ]; + }; + }; +}
\ No newline at end of file diff --git a/nixos/modules/features/terminals/default.nix b/nixos/modules/features/terminals/default.nix new file mode 100644 index 0000000..22c5662 --- /dev/null +++ b/nixos/modules/features/terminals/default.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + foot + ghostty + ]; +}
\ No newline at end of file diff --git a/nixos/modules/features/wayland-tools/default.nix b/nixos/modules/features/wayland-tools/default.nix new file mode 100644 index 0000000..19111c1 --- /dev/null +++ b/nixos/modules/features/wayland-tools/default.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + cliphist + fuzzel + grim + slurp + wl-clipboard + wtype + xwayland-satellite + ]; +}
\ No newline at end of file |
