diff options
Diffstat (limited to 'hosts/common')
-rw-r--r-- | hosts/common/core/default.nix | 83 | ||||
-rw-r--r-- | hosts/common/optional/db.nix | 8 | ||||
-rw-r--r-- | hosts/common/optional/dev.nix | 13 | ||||
-rw-r--r-- | hosts/common/optional/games.nix | 22 | ||||
-rw-r--r-- | hosts/common/optional/pipewire.nix | 17 | ||||
-rw-r--r-- | hosts/common/optional/sdr.nix | 16 | ||||
-rw-r--r-- | hosts/common/optional/services/xorg.nix | 81 | ||||
-rw-r--r-- | hosts/common/optional/sound.nix | 31 |
8 files changed, 264 insertions, 7 deletions
diff --git a/hosts/common/core/default.nix b/hosts/common/core/default.nix index 5fefe2d..d7edaaf 100644 --- a/hosts/common/core/default.nix +++ b/hosts/common/core/default.nix @@ -1,4 +1,4 @@ -{ inputs, outputs, ... }: { +{ inputs, outputs, pkgs, ... }: { imports = [ ./locale.nix ./nix.nix @@ -6,5 +6,86 @@ ./zsh.nix ]; + documentation.dev.enable = true; + documentation.man.enable = true; + + environment.systemPackages = builtins.attrValues { + inherit (pkgs) + bc + binutils + conntrack-tools + coreutils + curl + dict + diffutils + dig + dmidecode + encfs + enscript + ffmpeg + file + findutils + flac + fortune + fping + git + imagemagick + inxi + iotop + ipcalc + iperf + iputils + jq + lame + lshw + lsof + mkvtoolnix + mutt + netcat-openbsd + nix-index + nmap + ntfs3g + oath-toolkit + openldap + openssl + patchelf + pciutils + poppler_utils + powertop + psmisc + pv + pwgen + qemu_kvm + qrencode + radeontop + recode + sg3_utils + socat + speedtest-cli + sqlite + sshfs + stoken + sysstat + tcpdump + traceroute + tree + tshark + unrar + unzip + usbutils + vim + wget + whois + wireguard-tools + x265 + zip; + }; + hardware.enableRedistributableFirmware = true; + + programs.atop.enable = true; + programs.iftop.enable = true; + programs.mtr.enable = true; + programs.tmux.enable = true; + programs.zsh.enable = true; } diff --git a/hosts/common/optional/db.nix b/hosts/common/optional/db.nix new file mode 100644 index 0000000..af6766e --- /dev/null +++ b/hosts/common/optional/db.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + environment.systemPackages = builtins.attrValues { + inherit (pkgs) + mariadb + postgresql; + }; +} diff --git a/hosts/common/optional/dev.nix b/hosts/common/optional/dev.nix new file mode 100644 index 0000000..8278387 --- /dev/null +++ b/hosts/common/optional/dev.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + environment.systemPackages = builtins.attrValues { + inherit (pkgs) + cargo + gcc + go + nasm + rustc + yasm + zig; + }; +} diff --git a/hosts/common/optional/games.nix b/hosts/common/optional/games.nix new file mode 100644 index 0000000..9a43c00 --- /dev/null +++ b/hosts/common/optional/games.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + #environment.systemPackages = builtins.attrValues { + # inherit (pkgs) + # godot_4 + # mame + # mednafen + # mednaffe + # winetricks; + #}; + + environment.systemPackages = with pkgs; [ + godot_4 + mame + mednafen + mednaffe + winetricks + wineWowPackages.stagingFull + ]; + + programs.steam.enable = true; +} diff --git a/hosts/common/optional/pipewire.nix b/hosts/common/optional/pipewire.nix index 27b2a09..9d5b644 100644 --- a/hosts/common/optional/pipewire.nix +++ b/hosts/common/optional/pipewire.nix @@ -1,8 +1,17 @@ { pkgs, ... }: { - sound.enable = true; + environment.systemPackages = builtins.attrValues { + inherit (pkgs) + easyeffects + pamixer + pavucontrol + qpwgraph; + }; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { enable = true; alsa.enable = true; @@ -16,9 +25,5 @@ # media-session.enable = true; }; - environment.systemPackages = builtins.attrValues { - inherit (pkgs) - pamixer - pavucontrol; - }; + sound.enable = true; } diff --git a/hosts/common/optional/sdr.nix b/hosts/common/optional/sdr.nix new file mode 100644 index 0000000..8e1e5d2 --- /dev/null +++ b/hosts/common/optional/sdr.nix @@ -0,0 +1,16 @@ +{ pkgs, ... }: +{ + environment.systemPackages = builtins.attrValues { + inherit (pkgs) + fldigi + sdrconnect; + }; + + services.udev.extraRules = '' + SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="2500",MODE:="0666" + SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3000",MODE:="0666" + SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3010",MODE:="0666" + SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3020",MODE:="0666" + SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3030",MODE:="0666" + ''; +} diff --git a/hosts/common/optional/services/xorg.nix b/hosts/common/optional/services/xorg.nix index e513c74..ae8eb13 100644 --- a/hosts/common/optional/services/xorg.nix +++ b/hosts/common/optional/services/xorg.nix @@ -1,10 +1,74 @@ +{ pkgs, ... }: { + #environment.systemPackages = builtins.attrValues { + # inherit (pkgs) + environment.systemPackages = with pkgs; [ + evince + feh + gcr + geeqie + #gimp-with-plugins + gimp + google-chrome + gv + inkscape + libreoffice + libva-utils + mesa-demos + mpv + polkit_gnome + rdesktop + read-edid + signal-desktop + st + sxiv + tigervnc + turbovnc + vdpauinfo + vlc + vulkan-tools + x11vnc + xclip + xdotool + xorg.xdpyinfo + xorg.xev + xscreensaver + xsnow + xterm#; + ]; + #}; + + programs.firefox.enable = true; + + security.polkit = { + enable = true; + extraConfig = '' + polkit.addRule(function(action, subject) { + if ( + subject.isInGroup("users") + && ( + action.id == "org.freedesktop.login1.reboot" || + action.id == "org.freedesktop.login1.reboot-multiple-sessions" || + action.id == "org.freedesktop.login1.power-off" || + action.id == "org.freedesktop.login1.power-off-multiple-sessions" + ) + ) + { + return polkit.Result.YES; + } + }) + ''; + }; + + services.blueman.enable = true; + services.printing.enable = true; services.displayManager.defaultSession = "xsession"; services.xserver = { displayManager.lightdm = { enable = true; extraSeatDefaults = ''greeter-hide-users=true''; }; + displayManager.session = [ { manage = "desktop"; @@ -12,10 +76,27 @@ start = ''exec $HOME/.xsession''; } ]; + enable = true; libinput.enable = true; videoDrivers = [ "amdgpu" ]; xkb.layout = "us"; xkb.options = "caps:super,compose:ralt"; }; + + systemd = { + user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; } diff --git a/hosts/common/optional/sound.nix b/hosts/common/optional/sound.nix new file mode 100644 index 0000000..e3b5ac1 --- /dev/null +++ b/hosts/common/optional/sound.nix @@ -0,0 +1,31 @@ +{ pkgs, ... }: +{ + #environment.systemPackages = builtins.attrValues { + # inherit (pkgs) + environment.systemPackages = with pkgs; [ + bespokesynth + cardinal + fluidsynth + geonkick + lilypond-unstable-with-fonts + polyphone + qsynth + reaper + rosegarden + samplv1 + sfizz + surge-XT + synthv1 + vapoursynth + vmpk + vocproc + wavpack + winetricks + wineWowPackages.stagingFull + yabridge + yabridgectl + yoshimi + zynaddsubfx#; + ]; + #}; +} |