WIP: HYPRLAND

This commit is contained in:
Faris 2026-05-10 00:03:59 +01:00
parent 315dcd01c9
commit ec54db28a3
9 changed files with 1016 additions and 516 deletions

View File

@ -96,7 +96,7 @@
noto-fonts-cjk-sans
noto-fonts-color-emoji
corefonts
fira-mono
nerd-fonts.jetbrains-mono
font-awesome_5
];

View File

@ -7,10 +7,12 @@
hardware.graphics = {
enable = true;
};
qt.style = "adwaita-dark";
qt.platformTheme = "gnome";
#hyprland
programs.hyprland.enable = true;
security.pam.services.hyprlock = {};
services.displayManager.gdm.enable = true; # use sddm until gnome 50 due to https://github.com/systemd/systemd/issues/39259
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
@ -57,8 +59,19 @@
plymouth.enable = true;
# Allow higher virtual memory for games
kernel.sysctl."vm.max_map_count" = 2147483642;
initrd.systemd.enable = true; # LUKS login prompt
consoleLogLevel = 3;
initrd.verbose = false;
kernelParams = [
"quiet"
"udev.log_level=3"
"systemd.show_status=auto"
"rd.udev.log_level=3"
];
};
#services.udev.packages = [ pkgs.via ];
nixpkgs.overlays = [
@ -71,6 +84,8 @@
})
];
services.mullvad-vpn.enable = true;
environment.systemPackages = with pkgs; [
audacity
brave
@ -96,7 +111,6 @@
monero-gui
moonlight-qt
nvtopPackages.nvidia
vscodium
dconf-editor
via
kdePackages.kdenlive

View File

@ -1,7 +1,6 @@
{
# Enable the GNOME Desktop Environment.
services.displayManager.gdm.enable = true; # use sddm until gnome 50 due to https://github.com/systemd/systemd/issues/39259
services.desktopManager.gnome.enable = false;
environment.systemPackages = with pkgs; [

29
config/hyprland.nix Normal file
View File

@ -0,0 +1,29 @@
{ pkgs, ...}:
{
programs.hyprland.enable = true;
security.pam.services.hyprlock = {};
#wifi
networking.wireless.iwd.enable = true;
services.gnome.sushi.enable = true; # image previews in nautilus
environment.systemPackages = with pkgs; [
glib # gsettings
gsettings-desktop-schemas # gsettings
dconf # gsettings
impala # wifi
grim # screenshots
slurp # screenshot selection
wl-clipboard # copy to clipboard
libnotify # enables "notify-send"
nautilus
bluetui # bluetooth
wiremix # mixer
];
services.udisks2.enable = true; # udiskie automount USB
}

83
flake.lock generated
View File

@ -1,5 +1,23 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -42,6 +60,25 @@
"type": "github"
}
},
"lazyvim": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1777781853,
"narHash": "sha256-O8/iGqnlzGYnLaJppG546jYjcz2BREC2tdxDQiHkeBk=",
"owner": "pfassina",
"repo": "lazyvim-nix",
"rev": "695c69b63a4b2a536a5615636de3c6991ed4b3ea",
"type": "github"
},
"original": {
"owner": "pfassina",
"repo": "lazyvim-nix",
"type": "github"
}
},
"nix-darwin": {
"inputs": {
"nixpkgs": [
@ -81,16 +118,16 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1777428379,
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
"owner": "nixos",
"lastModified": 1777954456,
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -111,15 +148,47 @@
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1777428379,
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "755f5aa91337890c432639c60b6064bb7fe67769",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable",
"lazyvim": "lazyvim",
"nix-darwin": "nix-darwin",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

View File

@ -11,10 +11,11 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
lazyvim.url = "github:pfassina/lazyvim-nix";
};
outputs =
{ self, nixpkgs, home-manager, home-manager-unstable, nix-darwin, ... }@inputs:
{ self, nixpkgs, home-manager, home-manager-unstable, nix-darwin, lazyvim, ... }@inputs:
{
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
specialArgs = {
@ -26,6 +27,7 @@
./config/common.nix
./config/linux.nix
./config/desktop.nix
./config/hyprland.nix
./hosts/desktop/hardware.nix
./hosts/desktop/settings.nix
home-manager.nixosModules.home-manager
@ -33,6 +35,7 @@
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit lazyvim;
inherit inputs;
hostname = "nixos-desktop";
};
@ -40,6 +43,7 @@
imports = [
./home/common.nix
./home/desktop.nix
./home/hyprland.nix
];
};
}

View File

@ -1,4 +1,4 @@
{ config, pkgs, ...}:
{ config, pkgs, lazyvim, ...}:
{
home.sessionVariables = {
@ -7,6 +7,9 @@
BROWSER = "brave";
};
imports = [ lazyvim.homeManagerModules.default ];
programs = {
mpv = {
@ -28,44 +31,74 @@
'';
};
neovim = {
enable = true;
viAlias = true;
vimAlias = true;
extraConfig = ''
set nocompatible
syntax on
set fileformat=unix
set encoding=utf8
set number relativenumber
set wrap
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
set autoindent
set colorcolumn=80
highlight ColorColumn ctermbg=8
lazyvim.enable = true;
set clipboard=unnamed,unnamedplus
set list listchars=tab:>-,trail:_,extends:>,precedes:<,nbsp:~
set showbreak=>
# neovim = {
# enable = true;
# viAlias = true;
# vimAlias = true;
# plugins = [
# pkgs.vimPlugins.LazyVim
# {
# plugin = pkgs.vimPlugins.LazyVim;
# }
# ];
# extraConfig = ''
# set nocompatible
# syntax on
let mapleader=" "
# set fileformat=unix
# set encoding=utf8
# set number relativenumber
# set wrap
"# disable macro mode
map q <Nop>
'';
};
# set tabstop=4
# set shiftwidth=4
# set softtabstop=4
# set smarttab
# set autoindent
# set colorcolumn=80
# highlight ColorColumn ctermbg=8
# set clipboard=unnamed,unnamedplus
# set list listchars=tab:>-,trail:_,extends:>,precedes:<,nbsp:~
# set showbreak=>
# let mapleader=" "
# "# disable macro mode
# map q <Nop>
# '';
# };
tmux = {
enable = true;
historyLimit = 10000;
mouse = true;
extraConfig = ''
# Status bar
set -g status-position top
set -g status-interval 5
set -g status-left-length 30
set -g status-right-length 50
set -g window-status-separator ""
set -gw automatic-rename on
set -gw automatic-rename-format '#{b:pane_current_path}'
# theme
set -g status-style "bg=default,fg=default"
set -g status-left "#[fg=black,bg=blue,bold] #S #[bg=default] "
set -g status-right "#[fg=blue]#{?pane_in_mode,COPY ,}#{?client_prefix,PREFIX ,}#{?window_zoomed_flag,ZOOM ,}#[fg=brightblack]#h "
set -g window-status-format "#[fg=brightblack] #I:#W "
set -g window-status-current-format "#[fg=blue,bold] #I:#W "
set -g pane-border-style "fg=brightblack"
set -g pane-active-border-style "fg=blue"
set -g message-style "bg=default,fg=blue"
set -g message-command-style "bg=default,fg=blue"
set -g mode-style "bg=blue,fg=black"
setw -g clock-mode-colour blue
'';
};

File diff suppressed because it is too large Load Diff

View File

@ -44,12 +44,14 @@ services.pipewire = {
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
package = config.boot.kernelPackages.nvidiaPackages.stable;
};
hardware.opengl.enable = true;
# this fixes the sleep/wake issue
systemd.services."systemd-suspend" = {
serviceConfig = {