aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/common
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/common')
-rw-r--r--hosts/common/core/default.nix83
-rw-r--r--hosts/common/optional/db.nix8
-rw-r--r--hosts/common/optional/dev.nix13
-rw-r--r--hosts/common/optional/games.nix22
-rw-r--r--hosts/common/optional/pipewire.nix17
-rw-r--r--hosts/common/optional/sdr.nix16
-rw-r--r--hosts/common/optional/services/xorg.nix81
-rw-r--r--hosts/common/optional/sound.nix31
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#;
+ ];
+ #};
+}