summaryrefslogtreecommitdiff
path: root/nixos/modules/features
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/features')
-rw-r--r--nixos/modules/features/appimage/default.nix15
-rw-r--r--nixos/modules/features/audio-tools/default.nix13
-rw-r--r--nixos/modules/features/binary-compat/default.nix23
-rw-r--r--nixos/modules/features/browsers/default.nix10
-rw-r--r--nixos/modules/features/cli-tools/default.nix26
-rw-r--r--nixos/modules/features/desktop-apps/default.nix6
-rw-r--r--nixos/modules/features/dev-tools/default.nix26
-rw-r--r--nixos/modules/features/editors/default.nix12
-rw-r--r--nixos/modules/features/file-managers/default.nix21
-rw-r--r--nixos/modules/features/fonts/default.nix20
-rw-r--r--nixos/modules/features/gaming/default.nix15
-rw-r--r--nixos/modules/features/gst-codecs/default.nix12
-rw-r--r--nixos/modules/features/language-tools/default.nix7
-rw-r--r--nixos/modules/features/media-tools/default.nix7
-rw-r--r--nixos/modules/features/messaging/default.nix9
-rw-r--r--nixos/modules/features/monitoring/default.nix12
-rw-r--r--nixos/modules/features/mouse/default.nix10
-rw-r--r--nixos/modules/features/mpd/default.nix43
-rw-r--r--nixos/modules/features/niri/default.nix19
-rw-r--r--nixos/modules/features/noctalia-greeter/default.nix20
-rw-r--r--nixos/modules/features/noctalia-shell/default.nix12
-rw-r--r--nixos/modules/features/nvidia/default.nix24
-rw-r--r--nixos/modules/features/p2p/default.nix7
-rw-r--r--nixos/modules/features/productivity/default.nix11
-rw-r--r--nixos/modules/features/security/default.nix8
-rw-r--r--nixos/modules/features/swingmusic/default.nix21
-rw-r--r--nixos/modules/features/terminals/default.nix10
-rw-r--r--nixos/modules/features/vpn-utils/default.nix33
-rw-r--r--nixos/modules/features/wayland-tools/default.nix14
-rw-r--r--nixos/modules/features/wireshark/default.nix14
30 files changed, 0 insertions, 480 deletions
diff --git a/nixos/modules/features/appimage/default.nix b/nixos/modules/features/appimage/default.nix
deleted file mode 100644
index e16189b..0000000
--- a/nixos/modules/features/appimage/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, ... }:
-
-{
- # AppImage support: binfmt registers the interpreter so you can run
- # AppImages directly. The override pulls in WebKit for GUI AppImages.
- 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
deleted file mode 100644
index fa550d8..0000000
--- a/nixos/modules/features/audio-tools/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ pkgs, ... }:
-
-{
- # User-facing audio/media clients (the MPD *server* lives in the `mpd` module)
- 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
deleted file mode 100644
index 56212e1..0000000
--- a/nixos/modules/features/binary-compat/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Runtime libraries so non-Nix binaries (AppImages, dynamically linked
- # programs loaded via envfs/nix-ld) can resolve their shared-object deps.
- environment.systemPackages = with pkgs; [
- cacert
- libGL
- nss
- cups
- libdrm
- glib
- pango
- gtk3
- zlib
- expat
- alsa-lib
- libxkbcommon
- atk
- pkg-config
- cmake
- ];
-}
diff --git a/nixos/modules/features/browsers/default.nix b/nixos/modules/features/browsers/default.nix
deleted file mode 100644
index 620734c..0000000
--- a/nixos/modules/features/browsers/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ pkgs, inputs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- inputs.helium-browser.packages.${pkgs.stdenv.hostPlatform.system}.helium
- chromium
- tor-browser
- mullvad-browser
- ];
-}
diff --git a/nixos/modules/features/cli-tools/default.nix b/nixos/modules/features/cli-tools/default.nix
deleted file mode 100644
index 55237c4..0000000
--- a/nixos/modules/features/cli-tools/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- tree
- pkgs.libsixel
- fd
- fzf
- eza
- stow
- util-linux
- nftables
- pkgs.rsync
- cryptsetup
- yt-dlp
- caligula
- fetch
- smartmontools
- secretspec
- claude-code
- opencode
- ];
-
- # Cross-shell prompt; its config lives in the dotfiles repo, not NixOS.
- programs.starship.enable = true;
-}
diff --git a/nixos/modules/features/desktop-apps/default.nix b/nixos/modules/features/desktop-apps/default.nix
deleted file mode 100644
index b74384f..0000000
--- a/nixos/modules/features/desktop-apps/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ pkgs, inputs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- ];
-}
diff --git a/nixos/modules/features/dev-tools/default.nix b/nixos/modules/features/dev-tools/default.nix
deleted file mode 100644
index 7613495..0000000
--- a/nixos/modules/features/dev-tools/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Compilers, language tooling, and IDEs for development
- environment.systemPackages = with pkgs; [
- black
- cargo
- clang
- clippy
- gcc
- git
- gnumake
- nodejs
- pyright
- (python3.withPackages (ps: with ps; [ pip ]))
- rust-analyzer
- rustc
- lua5_4
- tree-sitter
- jetbrains.rust-rover
- jetbrains.pycharm
- ];
- environment.sessionVariables = {
- RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
- };
-}
diff --git a/nixos/modules/features/editors/default.nix b/nixos/modules/features/editors/default.nix
deleted file mode 100644
index 5cec5da..0000000
--- a/nixos/modules/features/editors/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Text editors / IDEs
- environment.systemPackages = with pkgs; [
- micro
- neovim
- (emacs.override { withNativeCompilation = true; })
- # IME input method integration for the Vim/Neovim ecosystem.
- pkgs.vimPlugins.im-select-nvim
- ];
-}
diff --git a/nixos/modules/features/file-managers/default.nix b/nixos/modules/features/file-managers/default.nix
deleted file mode 100644
index f3ad4b3..0000000
--- a/nixos/modules/features/file-managers/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- file-roller
- kdePackages.ark
- kdePackages.qt6ct
- loupe
- nautilus
- sushi
- yazi
- # Drag & drop file transfer (yazi plugin + standalone helpers)
- yaziPlugins.drag
- ripdrag
- dragon-drop
- ];
-
- # yazi (terminal file manager) and its drag-and-drop helpers; the module
- # also registers yazi's shell integration.
- programs.yazi.enable = true;
-} \ No newline at end of file
diff --git a/nixos/modules/features/fonts/default.nix b/nixos/modules/features/fonts/default.nix
deleted file mode 100644
index c49876c..0000000
--- a/nixos/modules/features/fonts/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Fonts: installed under fonts.packages (NOT environment.systemPackages) so
- # they land in the fontconfig cache instead of just the PATH.
- fonts.fontconfig.enable = true;
-
- fonts.packages = with pkgs; [
- font-awesome
- nerd-fonts.jetbrains-mono
- nerd-fonts.symbols-only
- jetbrains-mono
- noto-fonts-color-emoji
- adwaita-fonts
- cozette
- roboto
- nerd-fonts.open-dyslexic
- open-dyslexic
- ];
-}
diff --git a/nixos/modules/features/gaming/default.nix b/nixos/modules/features/gaming/default.nix
deleted file mode 100644
index fe3938a..0000000
--- a/nixos/modules/features/gaming/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ pkgs, ... }:
-
-{
- programs.steam = {
- enable = true;
- remotePlay.openFirewall = true;
- dedicatedServer.openFirewall = true;
- };
-
- environment.systemPackages = with pkgs; [
- pkgs.lutris
- pkgs.prismlauncher
- pkgs.bottles
- ];
-}
diff --git a/nixos/modules/features/gst-codecs/default.nix b/nixos/modules/features/gst-codecs/default.nix
deleted file mode 100644
index c3decb8..0000000
--- a/nixos/modules/features/gst-codecs/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, ... }:
-
-{
- # GStreamer plugin set so apps (e.g. mpv, totem, browsers) can decode media.
- # Installed system-wide so anything linking GStreamer picks them up.
- 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
- ];
-}
diff --git a/nixos/modules/features/language-tools/default.nix b/nixos/modules/features/language-tools/default.nix
deleted file mode 100644
index 338d26b..0000000
--- a/nixos/modules/features/language-tools/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- hunspellDicts.ru_RU
- ];
-}
diff --git a/nixos/modules/features/media-tools/default.nix b/nixos/modules/features/media-tools/default.nix
deleted file mode 100644
index 00a16da..0000000
--- a/nixos/modules/features/media-tools/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- obs-studio
- ];
-}
diff --git a/nixos/modules/features/messaging/default.nix b/nixos/modules/features/messaging/default.nix
deleted file mode 100644
index 55354c2..0000000
--- a/nixos/modules/features/messaging/default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- pkgs.ayugram-desktop
- pkgs.legcord
- pkgs.vesktop
- ];
-}
diff --git a/nixos/modules/features/monitoring/default.nix b/nixos/modules/features/monitoring/default.nix
deleted file mode 100644
index 942e95e..0000000
--- a/nixos/modules/features/monitoring/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- # System monitors / fetch tools
- (btop.override { cudaSupport = true; })
- duf
- fastfetch
- ghfetch
- hyfetch
- ];
-} \ No newline at end of file
diff --git a/nixos/modules/features/mouse/default.nix b/nixos/modules/features/mouse/default.nix
deleted file mode 100644
index c984fbb..0000000
--- a/nixos/modules/features/mouse/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # Input remapping service (mouse buttons/keys) + its configuration GUI.
- services.input-remapper.enable = true;
- environment.systemPackages = with pkgs; [
- piper
- input-remapper
- ];
-}
diff --git a/nixos/modules/features/mpd/default.nix b/nixos/modules/features/mpd/default.nix
deleted file mode 100644
index a339622..0000000
--- a/nixos/modules/features/mpd/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ pkgs, ... }:
-
-{
- # MPD server (music player daemon). The audio_output points at PipeWire
- # through its PulseAudio compatibility layer, since desktop audio is handled
- # by modules/system/audio.
- 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";
- }
- ];
- };
- };
-
- # MPD runs as a system service, so it needs the per-user runtime dir to
- # reach the PipeWire socket.
- systemd.services.mpd.environment = {
- XDG_RUNTIME_DIR = "/run/user/1000";
- };
-
- # mpd-mpris bridges MPD to the MPRIS media control interface (used by
- # Waybar/media keys). Lives here because it only matters when MPD is on.
- 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
deleted file mode 100644
index 8c1a651..0000000
--- a/nixos/modules/features/niri/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs, ... }:
-
-{
- # niri: scrollable-tiling Wayland compositor.
- # enableDefaultPath = false stops the bundled unit pre-setting PATH, so the
- # session uses the environment NixOS generates.
- programs.niri.enable = true;
- systemd.user.services.niri.enableDefaultPath = false;
-
- # Icon themes + cursors the compositor and its launchers rely on.
- environment.systemPackages = with pkgs; [
- adwaita-icon-theme
- bibata-cursors
-
- hicolor-icon-theme
- # Shows polkit authentication dialogs as a layer-shell popup.
- hyprpolkitagent
- ];
-}
diff --git a/nixos/modules/features/noctalia-greeter/default.nix b/nixos/modules/features/noctalia-greeter/default.nix
deleted file mode 100644
index c65f806..0000000
--- a/nixos/modules/features/noctalia-greeter/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pkgs, inputs, ... }:
-
-{
- # Noctalia greeter (display manager login screen).
- # The module comes from the flake input rather than nixpkgs.
- 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";
- };
- };
- };
-} \ No newline at end of file
diff --git a/nixos/modules/features/noctalia-shell/default.nix b/nixos/modules/features/noctalia-shell/default.nix
deleted file mode 100644
index c9bc20c..0000000
--- a/nixos/modules/features/noctalia-shell/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ pkgs, inputs, ... }:
-
-{
- # Noctalia shell (the desktop shell this configuration is named after).
- # Two copies are installed:
- # - inputs.noctalia: the project built straight from the flake input.
- # - noctalia-shell: the packaged copy shipped in nixpkgs.
- environment.systemPackages = with pkgs; [
- inputs.noctalia.packages.${stdenv.hostPlatform.system}.default
- noctalia-shell
- ];
-}
diff --git a/nixos/modules/features/nvidia/default.nix b/nixos/modules/features/nvidia/default.nix
deleted file mode 100644
index f5f4d8f..0000000
--- a/nixos/modules/features/nvidia/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # NVIDIA GPU driver. `open = false` uses the proprietary blob; modesetting
- # enables modeset + nvidia-drm for proper Wayland support.
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.latest;
- };
-
- environment.systemPackages = with pkgs; [
- # VA-API translation layer so NVIDIA can accelerate video decode.
- 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/p2p/default.nix b/nixos/modules/features/p2p/default.nix
deleted file mode 100644
index af05afe..0000000
--- a/nixos/modules/features/p2p/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- pkgs.qbittorrent
- ];
-}
diff --git a/nixos/modules/features/productivity/default.nix b/nixos/modules/features/productivity/default.nix
deleted file mode 100644
index 2b14ff6..0000000
--- a/nixos/modules/features/productivity/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- libreoffice
- obsidian
- anytype
- evince
- pkgs.masterpdfeditor
- ];
-}
diff --git a/nixos/modules/features/security/default.nix b/nixos/modules/features/security/default.nix
deleted file mode 100644
index 935ef22..0000000
--- a/nixos/modules/features/security/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- keepassxc
- cryptomator
- ];
-}
diff --git a/nixos/modules/features/swingmusic/default.nix b/nixos/modules/features/swingmusic/default.nix
deleted file mode 100644
index 389e3c8..0000000
--- a/nixos/modules/features/swingmusic/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-#{ ... }:
-
-{
- # Swing Music: self-hosted local music server. Built separately and placed
- # in the user's home; this unit just turns it into a managed session service.
-# 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" ];
-# };
-# };
-#}
diff --git a/nixos/modules/features/terminals/default.nix b/nixos/modules/features/terminals/default.nix
deleted file mode 100644
index ec7ead3..0000000
--- a/nixos/modules/features/terminals/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ pkgs, ... }:
-
-{
- programs.foot.settings.main.shell = "tmux";
- environment.systemPackages = with pkgs; [
- foot
- ghostty
- tmux
- ];
-}
diff --git a/nixos/modules/features/vpn-utils/default.nix b/nixos/modules/features/vpn-utils/default.nix
deleted file mode 100644
index ed5bb8d..0000000
--- a/nixos/modules/features/vpn-utils/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ pkgs, ... }:
-
-{
- programs.throne = {
- enable = true;
- tunMode.enable = true;
- };
-
- programs.amnezia-vpn.enable = true;
-
- environment.systemPackages = with pkgs; [
- wireguard-tools
- amneziawg-tools
- amneziawg-go
- ];
-
- # Throne's sing-box core resolves its underlying DNS by running
- # `resolvectl -i <default-iface> dns` and fails to parse the empty
- # per-link output (enp42s0 has no per-link DNS; ours is global Mullvad
- # in services.resolved). Push the same Mullvad servers per-link so the
- # resolvectl parse succeeds and proxy hostnames can be looked up.
- networking.networkmanager.dispatcherScripts = [
- {
- type = "basic";
- source = pkgs.writeText "link-dns.sh" ''
- #!/bin/sh
- if [ "$1" = "enp42s0" ] && { [ "$2" = "up" ] || [ "$2" = "dhcp4-change" ]; }; then
- ${pkgs.systemd}/bin/resolvectl dns enp42s0 194.242.2.2 194.242.2.4 || true
- fi
- '';
- }
- ];
-}
diff --git a/nixos/modules/features/wayland-tools/default.nix b/nixos/modules/features/wayland-tools/default.nix
deleted file mode 100644
index 399fcb0..0000000
--- a/nixos/modules/features/wayland-tools/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Wayland clipboard, screenshot, launcher and input tooling
- environment.systemPackages = with pkgs; [
- cliphist
- fuzzel
- grim
- slurp
- wl-clipboard
- wtype
- xwayland-satellite
- ];
-}
diff --git a/nixos/modules/features/wireshark/default.nix b/nixos/modules/features/wireshark/default.nix
deleted file mode 100644
index afebd39..0000000
--- a/nixos/modules/features/wireshark/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Wireshark: packet capture/analysis. The `wireshark` group grants non-root
- # capture permissions to the user (programs.wireshark sets up dumpcap).
- programs.wireshark = {
- enable = true;
- package = pkgs.wireshark;
- };
-
- users.users.seraphim = {
- extraGroups = [ "wireshark" ];
- };
-} \ No newline at end of file