splitting things out for vade
This commit is contained in:
91
configs/desktop-light.nix
Normal file
91
configs/desktop-light.nix
Normal file
@@ -0,0 +1,91 @@
|
||||
# Baseline configuration for lightweight desktop systems.
|
||||
# Full desktops should import desktop.nix instead, which builds on this.
|
||||
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./desktop-packages-light.nix
|
||||
# ./ghostty.nix # doesn't work yet
|
||||
];
|
||||
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.displayManager.gdm.wayland = false;
|
||||
services.displayManager.gdm.debug = true;
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
options = "ctrl:swapcaps,compose:ralt";
|
||||
};
|
||||
|
||||
services.displayManager.autoLogin.enable = false;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput = {
|
||||
enable = true;
|
||||
mouse.naturalScrolling = true;
|
||||
touchpad.naturalScrolling = true;
|
||||
};
|
||||
|
||||
console.useXkbConfig = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
|
||||
# Enable Bluetooth.
|
||||
hardware.bluetooth = {
|
||||
powerOnBoot = true;
|
||||
settings = {
|
||||
General = {
|
||||
# Shows battery charge of connected devices on supported
|
||||
# Bluetooth adapters. Defaults to 'false'.
|
||||
Experimental = true;
|
||||
# When enabled other devices can connect faster to us, however
|
||||
# the tradeoff is increased power consumption. Defaults to
|
||||
# 'false'.
|
||||
FastConnectable = true;
|
||||
};
|
||||
Policy = {
|
||||
# Enable all controllers when they are found. This includes
|
||||
# adapters present on start as well as adapters that are plugged
|
||||
# in later on. Defaults to 'true'.
|
||||
AutoEnable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
|
||||
services.udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="backlight", GROUP="video", MODE="0660"
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services."systemd-suspend" = {
|
||||
description = "System Suspend with pm-suspend";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Environment = "PATH=${pkgs.pmutils}/bin";
|
||||
ExecStart = [
|
||||
""
|
||||
"${pkgs.pmutils}/bin/pm-suspend"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,79 +1,40 @@
|
||||
# Desktop-specific packages.
|
||||
# Additional packages for full desktop systems.
|
||||
# Imported on top of desktop-packages-light.nix.
|
||||
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpitool
|
||||
# adafruit-nrfutil
|
||||
alire
|
||||
arduino
|
||||
arduino-cli
|
||||
arduino-ide
|
||||
arduino-mk
|
||||
asciinema
|
||||
bibclean
|
||||
bitwarden-cli
|
||||
bitwarden-desktop
|
||||
bluez
|
||||
brave
|
||||
cmus
|
||||
direnv
|
||||
dmenu
|
||||
elinks
|
||||
erlang
|
||||
emacs
|
||||
feh
|
||||
ffmpeg
|
||||
fira-code
|
||||
firefox
|
||||
freeglut
|
||||
ghostty
|
||||
glfw
|
||||
glm
|
||||
gnat15
|
||||
gnome-disk-utility
|
||||
go-font
|
||||
gnat15Packages.gpr2
|
||||
gnat15Packages.gprbuild
|
||||
graphviz
|
||||
i3
|
||||
i3lock
|
||||
inkscape
|
||||
python312Packages.ipython
|
||||
kdePackages.ksshaskpass
|
||||
inputs.kte.packages.x86_64-linux.kge
|
||||
inputs.kte.packages.x86_64-linux.qt
|
||||
lagrange
|
||||
libGL
|
||||
libGL.dev
|
||||
mesa
|
||||
networkmanagerapplet
|
||||
nyxt
|
||||
obsidian
|
||||
pavucontrol
|
||||
pmutils
|
||||
qmk
|
||||
qmk-udev-rules
|
||||
rbw
|
||||
rebar3
|
||||
rofi
|
||||
scrot
|
||||
SDL2
|
||||
SDL2.dev
|
||||
signal-desktop
|
||||
stumpwm
|
||||
syncthing
|
||||
veracrypt
|
||||
via
|
||||
vlc
|
||||
xfce.thunar
|
||||
xfce.thunar-volman
|
||||
xfce.xfce4-power-manager
|
||||
xorg.libX11
|
||||
xss-lock
|
||||
|
||||
# jetbrains
|
||||
# jetbrains-toolbox
|
||||
45
configs/desktop-packages-light.nix
Normal file
45
configs/desktop-packages-light.nix
Normal file
@@ -0,0 +1,45 @@
|
||||
# Core desktop packages for lightweight desktop systems.
|
||||
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpitool
|
||||
alire
|
||||
asciinema
|
||||
bibclean
|
||||
bitwarden-cli
|
||||
bitwarden-desktop
|
||||
bluez
|
||||
cmus
|
||||
direnv
|
||||
dmenu
|
||||
emacs
|
||||
erlang
|
||||
feh
|
||||
fira-code
|
||||
firefox
|
||||
ghostty
|
||||
gnat15
|
||||
gnat15Packages.gpr2
|
||||
gnat15Packages.gprbuild
|
||||
gnome-disk-utility
|
||||
go-font
|
||||
graphviz
|
||||
i3
|
||||
i3lock
|
||||
python312Packages.ipython
|
||||
networkmanagerapplet
|
||||
obsidian
|
||||
pavucontrol
|
||||
pmutils
|
||||
rebar3
|
||||
rofi
|
||||
scrot
|
||||
syncthing
|
||||
xfce.thunar
|
||||
xfce.thunar-volman
|
||||
xfce.xfce4-power-manager
|
||||
xss-lock
|
||||
];
|
||||
}
|
||||
@@ -1,91 +1,9 @@
|
||||
# Baseline configuration for all desktop-class systems (including
|
||||
# laptops).
|
||||
# Full desktop configuration. Builds on desktop-light.nix with
|
||||
# additional packages for development, multimedia, and embedded work.
|
||||
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./desktop-packages.nix
|
||||
# ./ghostty.nix # doesn't work yet
|
||||
./desktop-light.nix
|
||||
./desktop-packages-full.nix
|
||||
];
|
||||
|
||||
services.displayManager.gdm.enable = true;
|
||||
services.displayManager.gdm.wayland = false;
|
||||
services.displayManager.gdm.debug = true;
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
options = "ctrl:swapcaps,compose:ralt";
|
||||
};
|
||||
|
||||
services.displayManager.autoLogin.enable = false;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
services.libinput = {
|
||||
enable = true;
|
||||
mouse.naturalScrolling = true;
|
||||
touchpad.naturalScrolling = true;
|
||||
};
|
||||
|
||||
console.useXkbConfig = true;
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
|
||||
# Enable Bluetooth.
|
||||
hardware.bluetooth = {
|
||||
powerOnBoot = true;
|
||||
settings = {
|
||||
General = {
|
||||
# Shows battery charge of connected devices on supported
|
||||
# Bluetooth adapters. Defaults to 'false'.
|
||||
Experimental = true;
|
||||
# When enabled other devices can connect faster to us, however
|
||||
# the tradeoff is increased power consumption. Defaults to
|
||||
# 'false'.
|
||||
FastConnectable = true;
|
||||
};
|
||||
Policy = {
|
||||
# Enable all controllers when they are found. This includes
|
||||
# adapters present on start as well as adapters that are plugged
|
||||
# in later on. Defaults to 'true'.
|
||||
AutoEnable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
|
||||
services.udev.extraRules = ''
|
||||
ACTION=="add", SUBSYSTEM=="backlight", GROUP="video", MODE="0660"
|
||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||
'';
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services."systemd-suspend" = {
|
||||
description = "System Suspend with pm-suspend";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
Environment = "PATH=${pkgs.pmutils}/bin";
|
||||
ExecStart = [
|
||||
""
|
||||
"${pkgs.pmutils}/bin/pm-suspend"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user