WIP: HYPRLAND

This commit is contained in:
Faris 2026-05-10 00:14:45 +01:00
parent 315dcd01c9
commit 7ad21b020b
10 changed files with 1028 additions and 523 deletions

View File

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

View File

@ -7,10 +7,12 @@
hardware.graphics = { hardware.graphics = {
enable = true; enable = true;
}; };
qt.style = "adwaita-dark";
qt.platformTheme = "gnome";
#hyprland #hyprland
programs.hyprland.enable = true; services.displayManager.gdm.enable = true; # use sddm until gnome 50 due to https://github.com/systemd/systemd/issues/39259
security.pam.services.hyprlock = {};
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true; hardware.bluetooth.powerOnBoot = true;
@ -50,6 +52,19 @@
}; };
programs.chromium = {
enable = true;
homepageLocation = "https://dashboard.mektem.com";
extraOpts = {
"SpellcheckEnabled" = true;
"BrowserThemeColor" = "#100f0f";
};
};
hardware.keyboard.qmk.enable = true; hardware.keyboard.qmk.enable = true;
boot = { boot = {
@ -57,8 +72,19 @@
plymouth.enable = true; plymouth.enable = true;
# Allow higher virtual memory for games # Allow higher virtual memory for games
kernel.sysctl."vm.max_map_count" = 2147483642; 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 ]; #services.udev.packages = [ pkgs.via ];
nixpkgs.overlays = [ nixpkgs.overlays = [
@ -71,6 +97,8 @@
}) })
]; ];
services.mullvad-vpn.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
audacity audacity
brave brave
@ -96,7 +124,6 @@
monero-gui monero-gui
moonlight-qt moonlight-qt
nvtopPackages.nvidia nvtopPackages.nvidia
vscodium
dconf-editor dconf-editor
via via
kdePackages.kdenlive kdePackages.kdenlive

View File

@ -1,7 +1,6 @@
{ {
# Enable the GNOME Desktop Environment. # 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; services.desktopManager.gnome.enable = false;
environment.systemPackages = with pkgs; [ 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": { "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": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -42,6 +60,25 @@
"type": "github" "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": { "nix-darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -81,16 +118,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1777428379, "lastModified": 1777954456,
"narHash": "sha256-ypxFOeDz+CqADEQNL72haqGjvZQdBR5Vc7pyx2JDttI=", "narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "755f5aa91337890c432639c60b6064bb7fe67769", "rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-25.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -111,15 +148,47 @@
"type": "github" "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": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"home-manager-unstable": "home-manager-unstable", "home-manager-unstable": "home-manager-unstable",
"lazyvim": "lazyvim",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable" "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", "root": "root",

View File

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

View File

@ -1,4 +1,4 @@
{ config, pkgs, ...}: { config, pkgs, lazyvim, ...}:
{ {
home.sessionVariables = { home.sessionVariables = {
@ -7,6 +7,9 @@
BROWSER = "brave"; BROWSER = "brave";
}; };
imports = [ lazyvim.homeManagerModules.default ];
programs = { programs = {
mpv = { 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 lazyvim.enable = true;
set shiftwidth=4
set softtabstop=4
set smarttab
set autoindent
set colorcolumn=80
highlight ColorColumn ctermbg=8
set clipboard=unnamed,unnamedplus # neovim = {
set list listchars=tab:>-,trail:_,extends:>,precedes:<,nbsp:~ # enable = true;
set showbreak=> # 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 # set tabstop=4
map q <Nop> # 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 = { tmux = {
enable = true; enable = true;
historyLimit = 10000; historyLimit = 10000;
mouse = true; mouse = true;
extraConfig = '' 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

@ -50,6 +50,8 @@ services.pipewire = {
package = config.boot.kernelPackages.nvidiaPackages.stable; package = config.boot.kernelPackages.nvidiaPackages.stable;
}; };
hardware.opengl.enable = true;
# this fixes the sleep/wake issue # this fixes the sleep/wake issue
systemd.services."systemd-suspend" = { systemd.services."systemd-suspend" = {
serviceConfig = { serviceConfig = {

View File

@ -5,14 +5,6 @@
nixpkgs.hostPlatform = "aarch64-darwin"; nixpkgs.hostPlatform = "aarch64-darwin";
system.stateVersion = 6; system.stateVersion = 6;
programs.chromium = {
enable = true;
homepageLocation = "https://dashboard.mektem.com";
extraOpts = {
"SpellcheckEnabled" = true;
"BrowserThemeColor" = "#fffcf0";
};
};
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
audacity audacity