149 current 2025-06-11 19:10:14 25.05.20250606.70c74b0 6.15.1 *

Hyprland (no boot)
This commit is contained in:
2025-06-11 19:10:17 +02:00
parent d502e4e68d
commit 0d12517c34
4 changed files with 103 additions and 25 deletions

View File

@ -2,7 +2,7 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../../modules/common.nix ../../modules/common.nix
../../modules/desktops/gnome-desktop.nix ../../modules/desktops/hyprland-desktop.nix
../../modules/programs.nix ../../modules/programs.nix
]; ];

View File

@ -41,7 +41,6 @@
# Select internationalisation properties. # Select internationalisation properties.
i18n = { i18n = {
defaultLocale = "en_GB.UTF-8"; defaultLocale = "en_GB.UTF-8";
extraLocaleSettings = { extraLocaleSettings = {
LC_ADDRESS = "sv_SE.UTF-8"; LC_ADDRESS = "sv_SE.UTF-8";
LC_IDENTIFICATION = "sv_SE.UTF-8"; LC_IDENTIFICATION = "sv_SE.UTF-8";
@ -58,19 +57,32 @@
# Configure console keymap # Configure console keymap
console.keyMap = "sv-latin1"; console.keyMap = "sv-latin1";
services = {
# Enable CUPS to print documents. # Enable CUPS to print documents.
services.printing.enable = false; printing.enable = false;
# Enable sound with pipewire. # Enable sound with pipewire.
services.pulseaudio.enable = false; pulseaudio.enable = false;
security.rtkit.enable = true; pipewire = {
services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;
alsa.support32Bit = true; alsa.support32Bit = true;
pulse.enable = true; pulse.enable = true;
wireplumber.enable = true;
}; };
# enable antivirus clamav and keep the signatures' database updated
clamav = {
daemon.enable = true;
updater.enable = true;
};
};
# Realtime scheduling priority for audio
security.rtkit.enable = true;
# Polkit agent (authentication dialogs)
security.polkit.enable = true;
# Allow unfree packages # Allow unfree packages
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -93,6 +105,7 @@
# Fonts # Fonts
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
intel-one-mono intel-one-mono
noto-fonts
]; ];
# This improves touchscreen support and enables additional touchpad gestures. It also enables smooth scrolling as opposed to the stepped scrolling that Firefox has by default # This improves touchscreen support and enables additional touchpad gestures. It also enables smooth scrolling as opposed to the stepped scrolling that Firefox has by default
@ -111,18 +124,12 @@
profile = "${pkgs.firejail}/etc/firejail/firefox.profile"; profile = "${pkgs.firejail}/etc/firejail/firefox.profile";
}; };
chromium = { chromium = {
executable = "${pkgs.lib.getBin pkgs.chromium}/bin/chromium"; executable = "${pkgs.lib.getBin pkgs.ungoogled-chromium}/bin/chromium";
profile = "${pkgs.firejail}/etc/firejail/chromium.profile"; profile = "${pkgs.firejail}/etc/firejail/chromium.profile";
}; };
}; };
}; };
# enable antivirus clamav and keep the signatures' database updated
services.clamav = {
daemon.enable = true;
updater.enable = true;
};
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. # on your system were taken.

View File

@ -1,6 +1,77 @@
{pkgs, ...}: {
services = {
xserver = {
enable = true;
# Only enable GDM if you want login screen; alternatively, use greetd (recommended)
displayManager.gdm.enable = false;
};
# Greetd with tuigreet is lightweight and Wayland-native
greetd = {
enable = true;
settings.default_session = {
command = "tuigreet --cmd Hyprland";
user = "greeter";
};
};
# Power management (battery status, etc)
upower.enable = true;
power-profiles-daemon.enable = true;
};
# Hyprland is your new desktop
programs.hyprland.enable = true;
programs.dconf.profiles.user.databases = [
{ {
config, settings."org/gnome/desktop/interface" = {
pkgs, gtk-theme = "Gruvbox-Dark-B";
... icon-theme = "Flat-Remix-Red-Dark";
}: { font-name = "Noto Sans Medium 11";
document-font-name = "Noto Sans Medium 11";
monospace-font-name = "Intel One Mono Medium 11";
};
}
];
environment.sessionVariables = {
GTK_THEME = "Gruvbox-Dark-B"; # or whatever your installed variant is called
QT_QPA_PLATFORMTHEME = "qt5ct";
NIXOS_OZONE_WL = "1";
# XCURSOR_THEME = "Gruvbox-Dark"; # (Optional)
};
environment.systemPackages = with pkgs; [
# Core Hyprland workflow tools
waybar # Panel
nwg-look # GTK theme tweaker
rofi-wayland # Launcher (or fuzzel/wofi/tofi)
mako # Notification daemon
hyprpaper # Wallpaper daemon (native)
hyprlock # Lock screen (native)
wl-clipboard # Clipboard utils
cliphist # Clipboard manager
pavucontrol # GUI audio mixer
blueman # Bluetooth tray
networkmanagerapplet # System tray for network
brightnessctl # Brightness (for laptops)
wlsunset # Night light/gamma adjustment
grim
slurp
swappy
wf-recorder # Screenshots & screenrecording
libsForQt5.qt5ct # For QT application appearance
nautilus # File manager
# Install the Gruvbox GTK theme (many are packaged, else use overlays)
gruvbox-gtk-theme
# Gruvbox icons/cursors if desired
gruvbox-dark-icons-gtk
];
programs.nautilus-open-any-terminal = {
enable = true;
terminal = "ghostty";
};
services.gnome.sushi.enable = true;
} }

View File

@ -49,7 +49,7 @@ git diff -U0 '*.nix'
echo "NixOS Rebuilding configuration for host: $NIXOS_HOST..." echo "NixOS Rebuilding configuration for host: $NIXOS_HOST..."
# First, run a check to see if the flake is valid # First, run a check to see if the flake is valid
nix flake check nix flake check 2>&1 | grep -i --color error && exit 1
# Rebuild the system # Rebuild the system
sudo nixos-rebuild switch --flake ./#$NIXOS_HOST &>logs/nixos-switch.log || (cat logs/nixos-switch.log | grep --color error && exit 1) sudo nixos-rebuild switch --flake ./#$NIXOS_HOST &>logs/nixos-switch.log || (cat logs/nixos-switch.log | grep --color error && exit 1)