149 current 2025-06-11 19:10:14 25.05.20250606.70c74b0 6.15.1 *
Hyprland (no boot)
This commit is contained in:
@ -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
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user