Refactor the entire configuration

With the release of the Nvidia 555 beta drivers and their improvements to
the Wayland experience I've finally decided to return to NixOS with
Hyprland again after 2 years of running Gentoo and Opensuse Tumbleweed
on X11. So this is me committing the work done so far from the last
couple of days. Future commits will be more incremental.
This commit is contained in:
caem 2024-05-24 21:33:00 +02:00
parent 97c86fb014
commit 75b13ac379
Signed by: caem
GPG key ID: 69A830D03203405F
72 changed files with 2045 additions and 196 deletions

View file

@ -1,11 +1,11 @@
{ config, libs, pkgs, ... }:
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
thunderbird
tutanota-desktop
signal-desktop
element-desktop
vesktop
];
}

8
packages/sets/fonts.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
nerdfonts
];
}

View file

@ -1,11 +1,12 @@
{ config, lib, pkgs, ... }:
{ ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
dedicatedServer.openFirewall = true;
};
programs.honkers-railway-launcher.enable = true;
}

View file

@ -1,13 +0,0 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
firefox
xdotool
xorg.xkill
xorg.xinput
xclip
yt-dlp
ffmpeg
];
}

36
packages/wm/hyprland.nix Normal file
View file

@ -0,0 +1,36 @@
{ pkgs, ...}:
{
imports = [
../sets/fonts.nix
];
environment.systemPackages = with pkgs; [
hyprpaper
dunst
rofi-wayland
foot
wl-clipboard
pcmanfm # TODO: Replace with dolphin and figure out why stylix doesn't theme it.
];
# TODO: Use KDE portal features for file pickers and popups
# TODO: Add missing utilities for taking screenshots, recording, etc...
environment.variables = {
LIBVA_DRIVER_NAME = "nvidia";
XDG_SESSION_TYPE = "wayland";
GBM_BACKEND = "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
NIXOS_OZONE_WL = 1; # TODO: This doesn't work. Fix it
};
programs.hyprland.enable = true;
services.gnome.gnome-keyring.enable = true;
security.pam.services.sddm.enableGnomeKeyring = true;
# TODO: switch out the display manager for a tui based one
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
}

13
packages/wm/plasma.nix Normal file
View file

@ -0,0 +1,13 @@
{ config, lib, pkgs, ... }:
{
imports = [
../packages/sets/x.nix
];
services.xserver = {
enable = true;
displayManager.sddm.enable = true;
};
services.desktopManager.plasma6.enable = true;
}

26
packages/wm/sway.nix Normal file
View file

@ -0,0 +1,26 @@
{ config, pkgs, ...}:
{
environment.systemPackages = with pkgs; [
rofi-wayland
foot
];
environment.variables = {
LIBVA_DRIVER_NAME = "nvidia";
XDG_SESSION_TYPE = "wayland";
GBM_BACKEND = "nvidia-drm";
__GLX_VENDOR_LIBRARY_NAME = "nvidia";
NIXOS_OZONE_WL = 1;
};
# programs.hyprland.enable = true;
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
}

53
packages/wm/xmonad.nix Normal file
View file

@ -0,0 +1,53 @@
{ pkgs, ... }:
{
imports = [
../packages/sets/x.nix
];
environment.systemPackages = with pkgs; [
xmobar
flameshot
rofi
feh
kitty
pavucontrol
picom
xdotool
xorg.xkill
xorg.xinput
xclip
];
services.xserver = {
enable = true;
xkb = {
layout = "de";
options = "eurosign:e";
};
libinput.enable = true;
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
extraPackages = hp: [
hp.dbus
hp.xmonad-contrib
hp.monad-logger
];
};
};
services.gnome.gnome-keyring.enable = true;
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
config.common.default = "*";
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
];
};
}