From cb613ed855f6661ecac17b696bafc17472256215 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 12 Jul 2024 16:38:01 +0300 Subject: [modules] Added subtypes to modules --- modules/battery.nix | 10 --- modules/cli-essential.nix | 20 ----- modules/cli-powerful.nix | 18 ---- modules/dev-cli.nix | 25 ------ modules/dev-gui.nix | 8 -- modules/fonts.nix | 9 -- modules/gui-essential.nix | 35 -------- modules/gui-powerful.nix | 8 -- modules/hardware-general.nix | 9 -- modules/hardware-laptop.nix | 18 ---- modules/keyboards-custom.nix | 9 -- modules/openbox-de.nix | 98 ---------------------- modules/personal/battery.nix | 10 +++ modules/personal/cli-essential.nix | 20 +++++ modules/personal/cli-powerful.nix | 18 ++++ modules/personal/dev-cli.nix | 25 ++++++ modules/personal/dev-gui.nix | 8 ++ modules/personal/fonts.nix | 9 ++ modules/personal/gui-essential.nix | 35 ++++++++ modules/personal/gui-powerful.nix | 8 ++ modules/personal/hardware-general.nix | 9 ++ modules/personal/hardware-laptop.nix | 18 ++++ modules/personal/keyboards-custom.nix | 9 ++ modules/personal/openbox-de.nix | 98 ++++++++++++++++++++++ modules/personal/rtl-sdr.nix | 150 ++++++++++++++++++++++++++++++++++ modules/personal/tex.nix | 12 +++ modules/personal/users-standard.nix | 16 ++++ modules/personal/virtualization.nix | 10 +++ modules/personal/web-server.nix | 17 ++++ modules/personal/xserver.nix | 13 +++ modules/rtl-sdr.nix | 150 ---------------------------------- modules/tex.nix | 12 --- modules/users-standard.nix | 16 ---- modules/virtualization.nix | 10 --- modules/web-server.nix | 17 ---- modules/xserver.nix | 13 --- 36 files changed, 485 insertions(+), 485 deletions(-) delete mode 100644 modules/battery.nix delete mode 100644 modules/cli-essential.nix delete mode 100644 modules/cli-powerful.nix delete mode 100644 modules/dev-cli.nix delete mode 100644 modules/dev-gui.nix delete mode 100644 modules/fonts.nix delete mode 100644 modules/gui-essential.nix delete mode 100644 modules/gui-powerful.nix delete mode 100644 modules/hardware-general.nix delete mode 100644 modules/hardware-laptop.nix delete mode 100644 modules/keyboards-custom.nix delete mode 100644 modules/openbox-de.nix create mode 100644 modules/personal/battery.nix create mode 100644 modules/personal/cli-essential.nix create mode 100644 modules/personal/cli-powerful.nix create mode 100644 modules/personal/dev-cli.nix create mode 100644 modules/personal/dev-gui.nix create mode 100644 modules/personal/fonts.nix create mode 100644 modules/personal/gui-essential.nix create mode 100644 modules/personal/gui-powerful.nix create mode 100644 modules/personal/hardware-general.nix create mode 100644 modules/personal/hardware-laptop.nix create mode 100644 modules/personal/keyboards-custom.nix create mode 100644 modules/personal/openbox-de.nix create mode 100644 modules/personal/rtl-sdr.nix create mode 100644 modules/personal/tex.nix create mode 100644 modules/personal/users-standard.nix create mode 100644 modules/personal/virtualization.nix create mode 100644 modules/personal/web-server.nix create mode 100644 modules/personal/xserver.nix delete mode 100644 modules/rtl-sdr.nix delete mode 100644 modules/tex.nix delete mode 100644 modules/users-standard.nix delete mode 100644 modules/virtualization.nix delete mode 100644 modules/web-server.nix delete mode 100644 modules/xserver.nix (limited to 'modules') diff --git a/modules/battery.nix b/modules/battery.nix deleted file mode 100644 index 417446e..0000000 --- a/modules/battery.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - powertop upower acpid tlp - ]; - - services = { - upower.enable = true; - tlp.enable = true; - }; -} diff --git a/modules/cli-essential.nix b/modules/cli-essential.nix deleted file mode 100644 index b3c38f5..0000000 --- a/modules/cli-essential.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - dash htop rlwrap bc - # Hardware - lm_sensors lshw - # Network - wget git rsync inetutils - # Files - vim-full - # Archive formats - gnutar p7zip zip unzip rar unrar - ]; - - programs = { - gnupg.agent = { - enable = true; - enableSSHSupport = true; - }; - }; -} diff --git a/modules/cli-powerful.nix b/modules/cli-powerful.nix deleted file mode 100644 index 558adb5..0000000 --- a/modules/cli-powerful.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - neovim cron - # Hardware - usbutils chrony iotop efibootmgr libva-utils - # File systems - parted dosfstools mtpfs ntfs3g squashfsTools - # Network - vnstat yt-dlp - # Working with files - neovim inotify-tools lsof tree xmlstarlet - # Working with (media) files - ffmpeg img2pdf pdftk imagemagick pngcrush jpegoptim optipng gd kid3 pandoc libisoburn mediainfo - cdrtools rpm dpkg - # Misc - neofetch nixpkgs-2305.exa moc lazygit aspell ddrescue - ]; -} diff --git a/modules/dev-cli.nix b/modules/dev-cli.nix deleted file mode 100644 index 6b0994e..0000000 --- a/modules/dev-cli.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - gnumake - lowdown wakatime cloc go php fontforge ruby csslint - # C/C++ - clang clang-tools glibc gcc gdb valgrind pugixml cmake libusb libusb-compat-0_1 meson - # .NET - dotnet-sdk mono - # Python - python3Minimal - # Android - android-tools heimdall - # awk - gawk mawk nawk - # DB - sqlite sqlitebrowser flyway - # Functional - racket ghc sbcl - # Compilers - flex bison - ]; - - services.mysql.enable = false; - services.mysql.package = pkgs.mysql; -} diff --git a/modules/dev-gui.nix b/modules/dev-gui.nix deleted file mode 100644 index fd066f3..0000000 --- a/modules/dev-gui.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - # Networking - gns3-gui gns3-server dynamips - # Other - rstudio - ]; -} diff --git a/modules/fonts.nix b/modules/fonts.nix deleted file mode 100644 index 923f452..0000000 --- a/modules/fonts.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: { - fonts.packages = with pkgs; [ - meslolgs-nerdfont - # Note to self: DO NOT INSTALL ADOBE FONTS! - corefonts vistafonts liberation_ttf helvetica-neue-lt-std noto-fonts noto-fonts-emoji cm_unicode symbola - # CJK - noto-fonts-cjk arphic-ukai arphic-uming takao wqy_microhei wqy_zenhei - ]; -} diff --git a/modules/gui-essential.nix b/modules/gui-essential.nix deleted file mode 100644 index f6cf40e..0000000 --- a/modules/gui-essential.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - devilspie2 sxhkd speedcrunch peek wireshark - obs-studio qbittorrent glava - # Terminals - terminator xterm - # Settings and backup tools - feh arandr pavucontrol blueberry piper - # Tray - copyq flameshot barrier redshift - # File openers/players - audacious mpv libreoffice - # File editors - gimp xed-editor - # Web (app) clients - brave nixpkgs-2305.bitwarden nextcloud-client thunderbird birdtray - ]; - - programs.firefox.enable = true; - - systemd.user.services = { - devilspie2 = { - description = "devilspie2 runner"; - wantedBy = [ "graphical-session.target" ]; - wants = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - ExecStart = "${pkgs.devilspie2}/bin/devilspie2"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - }; -} diff --git a/modules/gui-powerful.nix b/modules/gui-powerful.nix deleted file mode 100644 index 469dd15..0000000 --- a/modules/gui-powerful.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - # File/image/audio editors - inkscape krita ardour - # System - gparted timeshift - ]; -} diff --git a/modules/hardware-general.nix b/modules/hardware-general.nix deleted file mode 100644 index 4f83454..0000000 --- a/modules/hardware-general.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - pipewire bluez - ]; - - programs = { - mtr.enable = true; - }; -} diff --git a/modules/hardware-laptop.nix b/modules/hardware-laptop.nix deleted file mode 100644 index 3a6d045..0000000 --- a/modules/hardware-laptop.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - brightnessctl - libinput libinput-gestures - epkowa - (epsonscan2.override { withNonFreePlugins = true; withGui = true; }) - ]; - - hardware.sane.extraBackends = [ (pkgs.epsonscan2.override { withNonFreePlugins = true; withGui = true; }) ]; - - services.xserver = { - # touchpad support - libinput = { - enable = true; - touchpad.naturalScrolling = true; - }; - }; -} diff --git a/modules/keyboards-custom.nix b/modules/keyboards-custom.nix deleted file mode 100644 index 9dcc502..0000000 --- a/modules/keyboards-custom.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - via qmk - ]; - services.udev.packages = with pkgs; [ - via qmk - ]; - hardware.keyboard.qmk.enable = true; -} diff --git a/modules/openbox-de.nix b/modules/openbox-de.nix deleted file mode 100644 index aa9a16b..0000000 --- a/modules/openbox-de.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - # Essential libs - dbus cairo libnotify gtk3 yad gnome.zenity gnome.gvfs gmtp at-spi2-atk - # Main apps and their config apps - # window manager, compositor, taskbar, notifications, app menu, lockscreen, session manager - openbox lxappearance obconf picom nixpkgs-2305.tint2 dunst jgmenu i3lock-color lightdm lightdm-gtk-greeter - # General X11 tools - lxqt.lxqt-policykit xorg.xev xfontsel xorg.xmodmap xorg.xwininfo xorg.xprop clipnotify xdotool xautolock xcape xorg.setxkbmap xkbmon xorg.xhost xclip wmctrl - menu-cache - # Tray - libappindicator networkmanagerapplet pnmixer - # File openers - evince gnome.eog nixpkgs-2305.gnome.file-roller cinnamon.nemo-with-extensions gnome.seahorse - # System - gnome.gnome-system-monitor udisks gnome.gnome-disk-utility baobab gnome.simple-scan - # Theme - nixpkgs-mint.cinnamon.mint-themes nixpkgs-mint.cinnamon.mint-y-icons oreo-black-bordered-cursor - openbox-theme-collections openbox-blocks-dark - - xdg-desktop-portal-gtk xdg-desktop-portal-xapp - ]; - - security.polkit.enable = true; - - xdg.portal = { - enable = true; - configPackages = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-xapp ]; - config.common = { - default = [ "gtk" "xapp" ]; - "org.freedesktop.impl.portal.Screenshot" = [ "xapp" ]; - }; - }; - - programs = { - dconf.enable = true; - gnome-disks.enable = true; - }; - - services = { - dbus.packages = with pkgs; [ gnome2.GConf ]; - udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; - - udisks2.enable = true; # gnome-disks disk access - gnome.gnome-keyring.enable = true; - gvfs.enable = true; # MTP (for nemo) - - logind.extraConfig = '' - InhibitDelayMaxSec=1 - HoldoffTimeoutSec=1s - HandlePowerKey=poweroff''; - }; - - services.xserver = { - enable = true; - # Window manager - windowManager.openbox.enable = true; - - xautolock = { - enable = true; - time = 15; - locker = "/home/kamen/.a/sys/lock.sh"; - extraOptions = [ "-detectsleep" "-secure" ]; - }; - }; - - systemd.services = { - lockscreen = { - wantedBy = [ "sleep.target" ]; - before = [ "suspend.target" ]; - serviceConfig = { - User = "kamen"; - Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" "DBUS_SESSION_BUS_ADDRESS=\"unix:path=/run/user/1000/bus\"" ]; - ExecStart = "/home/kamen/.a/sys/lock.sh"; - }; - }; - }; - - systemd.user.services = { - lxqt-policykit = { - description = "lxqt-policykit runner"; - wantedBy = [ "graphical-session.target" ]; - wants = [ "graphical-session.target" ]; - after = [ "graphical-session.target" ]; - serviceConfig = { - Type = "simple"; - ExecStart = "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent"; - Restart = "on-failure"; - RestartSec = 1; - TimeoutStopSec = 10; - }; - }; - - # This is kinda gross, because the xautolock service is already defined and configured - # inside services.xserver.xautolock, but it's the only way I know - xautolock.serviceConfig.Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" ]; - }; -} diff --git a/modules/personal/battery.nix b/modules/personal/battery.nix new file mode 100644 index 0000000..417446e --- /dev/null +++ b/modules/personal/battery.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + powertop upower acpid tlp + ]; + + services = { + upower.enable = true; + tlp.enable = true; + }; +} diff --git a/modules/personal/cli-essential.nix b/modules/personal/cli-essential.nix new file mode 100644 index 0000000..b3c38f5 --- /dev/null +++ b/modules/personal/cli-essential.nix @@ -0,0 +1,20 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + dash htop rlwrap bc + # Hardware + lm_sensors lshw + # Network + wget git rsync inetutils + # Files + vim-full + # Archive formats + gnutar p7zip zip unzip rar unrar + ]; + + programs = { + gnupg.agent = { + enable = true; + enableSSHSupport = true; + }; + }; +} diff --git a/modules/personal/cli-powerful.nix b/modules/personal/cli-powerful.nix new file mode 100644 index 0000000..558adb5 --- /dev/null +++ b/modules/personal/cli-powerful.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + neovim cron + # Hardware + usbutils chrony iotop efibootmgr libva-utils + # File systems + parted dosfstools mtpfs ntfs3g squashfsTools + # Network + vnstat yt-dlp + # Working with files + neovim inotify-tools lsof tree xmlstarlet + # Working with (media) files + ffmpeg img2pdf pdftk imagemagick pngcrush jpegoptim optipng gd kid3 pandoc libisoburn mediainfo + cdrtools rpm dpkg + # Misc + neofetch nixpkgs-2305.exa moc lazygit aspell ddrescue + ]; +} diff --git a/modules/personal/dev-cli.nix b/modules/personal/dev-cli.nix new file mode 100644 index 0000000..6b0994e --- /dev/null +++ b/modules/personal/dev-cli.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + gnumake + lowdown wakatime cloc go php fontforge ruby csslint + # C/C++ + clang clang-tools glibc gcc gdb valgrind pugixml cmake libusb libusb-compat-0_1 meson + # .NET + dotnet-sdk mono + # Python + python3Minimal + # Android + android-tools heimdall + # awk + gawk mawk nawk + # DB + sqlite sqlitebrowser flyway + # Functional + racket ghc sbcl + # Compilers + flex bison + ]; + + services.mysql.enable = false; + services.mysql.package = pkgs.mysql; +} diff --git a/modules/personal/dev-gui.nix b/modules/personal/dev-gui.nix new file mode 100644 index 0000000..fd066f3 --- /dev/null +++ b/modules/personal/dev-gui.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Networking + gns3-gui gns3-server dynamips + # Other + rstudio + ]; +} diff --git a/modules/personal/fonts.nix b/modules/personal/fonts.nix new file mode 100644 index 0000000..923f452 --- /dev/null +++ b/modules/personal/fonts.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + fonts.packages = with pkgs; [ + meslolgs-nerdfont + # Note to self: DO NOT INSTALL ADOBE FONTS! + corefonts vistafonts liberation_ttf helvetica-neue-lt-std noto-fonts noto-fonts-emoji cm_unicode symbola + # CJK + noto-fonts-cjk arphic-ukai arphic-uming takao wqy_microhei wqy_zenhei + ]; +} diff --git a/modules/personal/gui-essential.nix b/modules/personal/gui-essential.nix new file mode 100644 index 0000000..f6cf40e --- /dev/null +++ b/modules/personal/gui-essential.nix @@ -0,0 +1,35 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + devilspie2 sxhkd speedcrunch peek wireshark + obs-studio qbittorrent glava + # Terminals + terminator xterm + # Settings and backup tools + feh arandr pavucontrol blueberry piper + # Tray + copyq flameshot barrier redshift + # File openers/players + audacious mpv libreoffice + # File editors + gimp xed-editor + # Web (app) clients + brave nixpkgs-2305.bitwarden nextcloud-client thunderbird birdtray + ]; + + programs.firefox.enable = true; + + systemd.user.services = { + devilspie2 = { + description = "devilspie2 runner"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + ExecStart = "${pkgs.devilspie2}/bin/devilspie2"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; +} diff --git a/modules/personal/gui-powerful.nix b/modules/personal/gui-powerful.nix new file mode 100644 index 0000000..469dd15 --- /dev/null +++ b/modules/personal/gui-powerful.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # File/image/audio editors + inkscape krita ardour + # System + gparted timeshift + ]; +} diff --git a/modules/personal/hardware-general.nix b/modules/personal/hardware-general.nix new file mode 100644 index 0000000..4f83454 --- /dev/null +++ b/modules/personal/hardware-general.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + pipewire bluez + ]; + + programs = { + mtr.enable = true; + }; +} diff --git a/modules/personal/hardware-laptop.nix b/modules/personal/hardware-laptop.nix new file mode 100644 index 0000000..3a6d045 --- /dev/null +++ b/modules/personal/hardware-laptop.nix @@ -0,0 +1,18 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + brightnessctl + libinput libinput-gestures + epkowa + (epsonscan2.override { withNonFreePlugins = true; withGui = true; }) + ]; + + hardware.sane.extraBackends = [ (pkgs.epsonscan2.override { withNonFreePlugins = true; withGui = true; }) ]; + + services.xserver = { + # touchpad support + libinput = { + enable = true; + touchpad.naturalScrolling = true; + }; + }; +} diff --git a/modules/personal/keyboards-custom.nix b/modules/personal/keyboards-custom.nix new file mode 100644 index 0000000..9dcc502 --- /dev/null +++ b/modules/personal/keyboards-custom.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + via qmk + ]; + services.udev.packages = with pkgs; [ + via qmk + ]; + hardware.keyboard.qmk.enable = true; +} diff --git a/modules/personal/openbox-de.nix b/modules/personal/openbox-de.nix new file mode 100644 index 0000000..aa9a16b --- /dev/null +++ b/modules/personal/openbox-de.nix @@ -0,0 +1,98 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + # Essential libs + dbus cairo libnotify gtk3 yad gnome.zenity gnome.gvfs gmtp at-spi2-atk + # Main apps and their config apps + # window manager, compositor, taskbar, notifications, app menu, lockscreen, session manager + openbox lxappearance obconf picom nixpkgs-2305.tint2 dunst jgmenu i3lock-color lightdm lightdm-gtk-greeter + # General X11 tools + lxqt.lxqt-policykit xorg.xev xfontsel xorg.xmodmap xorg.xwininfo xorg.xprop clipnotify xdotool xautolock xcape xorg.setxkbmap xkbmon xorg.xhost xclip wmctrl + menu-cache + # Tray + libappindicator networkmanagerapplet pnmixer + # File openers + evince gnome.eog nixpkgs-2305.gnome.file-roller cinnamon.nemo-with-extensions gnome.seahorse + # System + gnome.gnome-system-monitor udisks gnome.gnome-disk-utility baobab gnome.simple-scan + # Theme + nixpkgs-mint.cinnamon.mint-themes nixpkgs-mint.cinnamon.mint-y-icons oreo-black-bordered-cursor + openbox-theme-collections openbox-blocks-dark + + xdg-desktop-portal-gtk xdg-desktop-portal-xapp + ]; + + security.polkit.enable = true; + + xdg.portal = { + enable = true; + configPackages = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-xapp ]; + config.common = { + default = [ "gtk" "xapp" ]; + "org.freedesktop.impl.portal.Screenshot" = [ "xapp" ]; + }; + }; + + programs = { + dconf.enable = true; + gnome-disks.enable = true; + }; + + services = { + dbus.packages = with pkgs; [ gnome2.GConf ]; + udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + + udisks2.enable = true; # gnome-disks disk access + gnome.gnome-keyring.enable = true; + gvfs.enable = true; # MTP (for nemo) + + logind.extraConfig = '' + InhibitDelayMaxSec=1 + HoldoffTimeoutSec=1s + HandlePowerKey=poweroff''; + }; + + services.xserver = { + enable = true; + # Window manager + windowManager.openbox.enable = true; + + xautolock = { + enable = true; + time = 15; + locker = "/home/kamen/.a/sys/lock.sh"; + extraOptions = [ "-detectsleep" "-secure" ]; + }; + }; + + systemd.services = { + lockscreen = { + wantedBy = [ "sleep.target" ]; + before = [ "suspend.target" ]; + serviceConfig = { + User = "kamen"; + Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" "DBUS_SESSION_BUS_ADDRESS=\"unix:path=/run/user/1000/bus\"" ]; + ExecStart = "/home/kamen/.a/sys/lock.sh"; + }; + }; + }; + + systemd.user.services = { + lxqt-policykit = { + description = "lxqt-policykit runner"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.lxqt.lxqt-policykit}/bin/lxqt-policykit-agent"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + + # This is kinda gross, because the xautolock service is already defined and configured + # inside services.xserver.xautolock, but it's the only way I know + xautolock.serviceConfig.Environment = [ "DISPLAY=:0" "PATH=/run/current-system/sw/bin" ]; + }; +} diff --git a/modules/personal/rtl-sdr.nix b/modules/personal/rtl-sdr.nix new file mode 100644 index 0000000..4347bf4 --- /dev/null +++ b/modules/personal/rtl-sdr.nix @@ -0,0 +1,150 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + rtl-sdr gqrx sdrangel + ]; + + services.udev.extraRules = '' +# +# Copyright 2012-2013 Osmocom rtl-sdr project +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# original RTL2832U vid/pid (hama nano, for example) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# RTL2832U OEM vid/pid, e.g. ezcap EzTV668 (E4000), Newsky TV28T (E4000/R820T) etc. +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# DigitalNow Quad DVB-T PCI-E card (4x FC0012?) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Leadtek WinFast DTV Dongle mini D (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Genius TVGo DVB-T03 USB dongle (Ver. B) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec Cinergy T Stick Black (rev 1) (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec NOXON rev 1 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec Deutschlandradio DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec NOXON DAB Stick - Radio Energy (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec Media Broadcast DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec BR DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec WDR DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec MuellerVerlag DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec Fraunhofer DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec Cinergy T Stick RC (Rev.3) (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec T Stick PLUS (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Terratec NOXON rev 2 (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# PixelView PV-DT235U(RN) (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Astrometa DVB-T/DVB-T2 (R828D) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# HanfTek DAB+FM+DVB-T +SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0133", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Compro Videomate U620F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Compro Videomate U650F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Compro Videomate U680F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# GIGABYTE GT-U7300 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# DIKOM USB-DVBT HD +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Peak 102569AGPK (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# KWorld KW-UB450-T USB DVB-T Pico TV (TUA9001) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Zaapa ZT-MINDVBZP (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# SVEON STV20 DVB-T USB & FM (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Twintech UT-40 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# ASUS U3100MINI_PLUS_V2 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# SVEON STV27 DVB-T USB & FM (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# SVEON STV21 DVB-T USB & FM +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Dexatek DK 5217 DVB-T Dongle (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# MSI DigiVox Micro HD (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Sweex DVB-T USB (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# GTek T803 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# Lifeview LV5TDeluxe (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# MyGica TD312 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + +# PROlectrix DV107669 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" + ''; +} diff --git a/modules/personal/tex.nix b/modules/personal/tex.nix new file mode 100644 index 0000000..9e45bb6 --- /dev/null +++ b/modules/personal/tex.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +let + tex = (pkgs.texlive.combine { + inherit (pkgs.texlive) scheme-medium + babel-bulgarian cyrillic cancel enumitem; + }); +in { + environment.systemPackages = with pkgs; [ + texmaker tex + ]; +} + diff --git a/modules/personal/users-standard.nix b/modules/personal/users-standard.nix new file mode 100644 index 0000000..a9065d2 --- /dev/null +++ b/modules/personal/users-standard.nix @@ -0,0 +1,16 @@ +{ config, pkgs, ... }: { + # zsh + programs.zsh.enable = true; + environment.shells = with pkgs; [ zsh ]; + # Thanks https://discourse.nixos.org/t/gns3-setcap-and-ubridge-gns3-unable-to-execute-setcap-command/13485/3 + users = { + groups.ubridge = {}; + users.kamen = { + isNormalUser = true; + extraGroups = [ "wheel" "audio" "video" "input" "lpadmin" "libvirtd" "lp" "scanner" "plugdev" "docker" "ubridge" ]; # Enable ‘sudo’ for the user. + packages = [ ]; + shell = pkgs.zsh; + homeMode = "711"; # mostly done for httpd access + }; + }; +} diff --git a/modules/personal/virtualization.nix b/modules/personal/virtualization.nix new file mode 100644 index 0000000..38c7536 --- /dev/null +++ b/modules/personal/virtualization.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + virt-manager libvirt qemu_kvm kvmtool qemu_full + ]; + + virtualisation = { + libvirtd.enable = true; + docker.enable = true; + }; +} diff --git a/modules/personal/web-server.nix b/modules/personal/web-server.nix new file mode 100644 index 0000000..bb4a968 --- /dev/null +++ b/modules/personal/web-server.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: { + environment.systemPackages = with pkgs; [ + apacheHttpd + ]; + + services.httpd = { + enable = true; + + virtualHosts = { + syndamiadotcom-local = { + hostName = "synd.local"; + listen = [ { port = 80; } ]; + documentRoot = "/home/kamen/Programming/GitLab-repos/syndamiadotcom/website"; + }; + }; + }; +} diff --git a/modules/personal/xserver.nix b/modules/personal/xserver.nix new file mode 100644 index 0000000..810122a --- /dev/null +++ b/modules/personal/xserver.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: { + services.xserver = { + # xkbmap + xkb.layout = "us,bg-custom"; + xkb.variant = ",phonetic-nonstandard"; + xkb.options = "grp:rwin_toggle,grp:alt_shift_toggle,lv3:switch,caps:escape"; + xkb.extraLayouts.bg-custom = { + description = "Non-standard variant of the traditional Bulgarian phonetic keyboard, which replaces some characters with their English counterparts"; + languages = [ "bg" ]; + symbolsFile = ../../packages/bg-custom; + }; + }; +} diff --git a/modules/rtl-sdr.nix b/modules/rtl-sdr.nix deleted file mode 100644 index 4347bf4..0000000 --- a/modules/rtl-sdr.nix +++ /dev/null @@ -1,150 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - rtl-sdr gqrx sdrangel - ]; - - services.udev.extraRules = '' -# -# Copyright 2012-2013 Osmocom rtl-sdr project -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# - -# original RTL2832U vid/pid (hama nano, for example) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# RTL2832U OEM vid/pid, e.g. ezcap EzTV668 (E4000), Newsky TV28T (E4000/R820T) etc. -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# DigitalNow Quad DVB-T PCI-E card (4x FC0012?) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Leadtek WinFast DTV Dongle mini D (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Genius TVGo DVB-T03 USB dongle (Ver. B) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec Cinergy T Stick Black (rev 1) (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec NOXON rev 1 (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec Deutschlandradio DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec NOXON DAB Stick - Radio Energy (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec Media Broadcast DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec BR DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec WDR DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec MuellerVerlag DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec Fraunhofer DAB Stick (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec Cinergy T Stick RC (Rev.3) (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec T Stick PLUS (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Terratec NOXON rev 2 (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# PixelView PV-DT235U(RN) (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Astrometa DVB-T/DVB-T2 (R828D) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# HanfTek DAB+FM+DVB-T -SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0133", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Compro Videomate U620F (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Compro Videomate U650F (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Compro Videomate U680F (E4000) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# GIGABYTE GT-U7300 (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# DIKOM USB-DVBT HD -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Peak 102569AGPK (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# KWorld KW-UB450-T USB DVB-T Pico TV (TUA9001) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Zaapa ZT-MINDVBZP (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# SVEON STV20 DVB-T USB & FM (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Twintech UT-40 (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# ASUS U3100MINI_PLUS_V2 (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# SVEON STV27 DVB-T USB & FM (FC0013) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# SVEON STV21 DVB-T USB & FM -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Dexatek DK 5217 DVB-T Dongle (FC2580) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# MSI DigiVox Micro HD (FC2580) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Sweex DVB-T USB (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# GTek T803 (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# Lifeview LV5TDeluxe (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# MyGica TD312 (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - -# PROlectrix DV107669 (FC0012) -SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", ENV{ID_SOFTWARE_RADIO}="1", MODE="0660", GROUP="plugdev" - ''; -} diff --git a/modules/tex.nix b/modules/tex.nix deleted file mode 100644 index 9e45bb6..0000000 --- a/modules/tex.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: -let - tex = (pkgs.texlive.combine { - inherit (pkgs.texlive) scheme-medium - babel-bulgarian cyrillic cancel enumitem; - }); -in { - environment.systemPackages = with pkgs; [ - texmaker tex - ]; -} - diff --git a/modules/users-standard.nix b/modules/users-standard.nix deleted file mode 100644 index a9065d2..0000000 --- a/modules/users-standard.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, pkgs, ... }: { - # zsh - programs.zsh.enable = true; - environment.shells = with pkgs; [ zsh ]; - # Thanks https://discourse.nixos.org/t/gns3-setcap-and-ubridge-gns3-unable-to-execute-setcap-command/13485/3 - users = { - groups.ubridge = {}; - users.kamen = { - isNormalUser = true; - extraGroups = [ "wheel" "audio" "video" "input" "lpadmin" "libvirtd" "lp" "scanner" "plugdev" "docker" "ubridge" ]; # Enable ‘sudo’ for the user. - packages = [ ]; - shell = pkgs.zsh; - homeMode = "711"; # mostly done for httpd access - }; - }; -} diff --git a/modules/virtualization.nix b/modules/virtualization.nix deleted file mode 100644 index 38c7536..0000000 --- a/modules/virtualization.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - virt-manager libvirt qemu_kvm kvmtool qemu_full - ]; - - virtualisation = { - libvirtd.enable = true; - docker.enable = true; - }; -} diff --git a/modules/web-server.nix b/modules/web-server.nix deleted file mode 100644 index bb4a968..0000000 --- a/modules/web-server.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ pkgs, ... }: { - environment.systemPackages = with pkgs; [ - apacheHttpd - ]; - - services.httpd = { - enable = true; - - virtualHosts = { - syndamiadotcom-local = { - hostName = "synd.local"; - listen = [ { port = 80; } ]; - documentRoot = "/home/kamen/Programming/GitLab-repos/syndamiadotcom/website"; - }; - }; - }; -} diff --git a/modules/xserver.nix b/modules/xserver.nix deleted file mode 100644 index 8c20442..0000000 --- a/modules/xserver.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, ... }: { - services.xserver = { - # xkbmap - xkb.layout = "us,bg-custom"; - xkb.variant = ",phonetic-nonstandard"; - xkb.options = "grp:rwin_toggle,grp:alt_shift_toggle,lv3:switch,caps:escape"; - xkb.extraLayouts.bg-custom = { - description = "Non-standard variant of the traditional Bulgarian phonetic keyboard, which replaces some characters with their English counterparts"; - languages = [ "bg" ]; - symbolsFile = ../packages/bg-custom; - }; - }; -} -- cgit v1.3.1-23-gd82d