Enable Hyprland in addition to Plasma (for now)
This commit is contained in:
112
flake.lock
generated
112
flake.lock
generated
@ -136,9 +136,51 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"wlroots": "wlroots",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1680439377,
|
||||
"narHash": "sha256-hF/cjhEWQR3g70RnI61GQ10Wrp8h6dDtWmkoI0LZ4PE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "b1426cad28f250a2269012da904901e0edcef114",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1671839510,
|
||||
"narHash": "sha256-+PY1qqJfmZzzROgcIY4I7AkCwpnC+qBIYk2eFoA9RWc=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "b8f55e02a328c47ed373133c52483bbfa20a1b75",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"musnix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1679269409,
|
||||
@ -156,7 +198,7 @@
|
||||
},
|
||||
"nixos-conf-editor": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"utils": "utils_2"
|
||||
},
|
||||
"locked": {
|
||||
@ -206,6 +248,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1679172431,
|
||||
"narHash": "sha256-XEh5gIt5otaUbEAPUY5DILUTyWe1goAyeqQtmwaFPyI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1603d11595a232205f03d46e635d919d1e1ec5b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1677407201,
|
||||
"narHash": "sha256-3blwdI9o1BAprkvlByHvtEm5HAIRn/XPjtcfiunpY7s=",
|
||||
@ -221,7 +279,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1673796341,
|
||||
"narHash": "sha256-1kZi9OkukpNmOaPY7S5/+SlCDOuYnP3HkXHvNDyLQcc=",
|
||||
@ -237,7 +295,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1679797994,
|
||||
"narHash": "sha256-Kr/O/UlfqAtoFmkZeAaphsxogeaN8a/IugBApFzPfpk=",
|
||||
@ -276,9 +334,10 @@
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"hardware": "hardware",
|
||||
"home-manager": "home-manager",
|
||||
"hyprland": "hyprland",
|
||||
"musnix": "musnix",
|
||||
"nixos-conf-editor": "nixos-conf-editor",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
@ -311,6 +370,49 @@
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wlroots": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"lastModified": 1679340088,
|
||||
"narHash": "sha256-/1KiYoBivDj8HC/eVK2Tr2WYkVdKJxq2Lb0tQs0qqJo=",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"rev": "1d64e12391a638201c679e71d4e22bb45e5faa8e",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.freedesktop.org",
|
||||
"owner": "wlroots",
|
||||
"repo": "wlroots",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1673116118,
|
||||
"narHash": "sha256-eR0yDSkR2XYMesfdRWJs25kAdXET2mbNNHu5t+KUcKA=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "d479c846531fd0e1d2357c9588b8310a2b859ef2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
12
flake.nix
12
flake.nix
@ -20,6 +20,7 @@
|
||||
nur.url = "github:nix-community/NUR";
|
||||
musnix.url = "github:musnix/musnix";
|
||||
devshell.url = "github:numtide/devshell";
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
# nixvim.url = "github:pta2002/nixvim";
|
||||
|
||||
# plasma-manager.url = "github:pjones/plasma-manager";
|
||||
@ -40,7 +41,8 @@
|
||||
# It gives a name to the ... ellipses.
|
||||
outputs = inputs @ {
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
# home-manager,
|
||||
hyprland,
|
||||
...
|
||||
}:
|
||||
# With let you can define local variables
|
||||
@ -85,7 +87,9 @@
|
||||
hostname = "nixinator";
|
||||
username = "christoph";
|
||||
|
||||
extraModules = [];
|
||||
extraModules = [
|
||||
hyprland.nixosModules.default # Use system module for SDDM config
|
||||
];
|
||||
};
|
||||
|
||||
# Usage: sudo nixos-rebuild switch --flake .#nixtop
|
||||
@ -95,7 +99,9 @@
|
||||
hostname = "nixtop";
|
||||
username = "christoph";
|
||||
|
||||
extraModules = [];
|
||||
extraModules = [
|
||||
hyprland.nixosModules.default # Use system module for SDDM config
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -28,6 +28,7 @@ rec {
|
||||
../modules
|
||||
|
||||
# inputs.nixvim.homeManagerModules.nixvim
|
||||
# inputs.hyprland.homeManagerModules.default # NOTE: Use System module, this one doesn't (can't) add the SDDM entry
|
||||
];
|
||||
|
||||
modules = {
|
||||
@ -122,8 +123,6 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
# Temporary hack: https://github.com/nix-community/home-manager/issues/3342
|
||||
# TODO: Remove when possible
|
||||
manual.manpages.enable = true;
|
||||
manual.html.enable = true;
|
||||
|
||||
@ -132,6 +131,9 @@ rec {
|
||||
# TODO: Derivations for bottles like UPlay, NeuralDSP, LoL (don't know what is possible with bottles-cli though)
|
||||
# TODO: When bottles derivations are there remove the bottles option from audio/gaming module and assert that bottles is enabled in flatpak module
|
||||
|
||||
# TODO: Remove Plasma, only use Hyprland
|
||||
# TODO: I need to pack all Plasma/Hyprland/Gnome related stuff into their respective modules
|
||||
# TODO: Then it should only be possible to activate one Desktop at a time
|
||||
|
||||
# Make fonts installed through user packages available to applications
|
||||
# NOTE: I don't think I need this anymore as all fonts are installed through the system config but let's keep this just in case
|
||||
@ -150,6 +152,9 @@ rec {
|
||||
source = ../../config/mpv;
|
||||
};
|
||||
|
||||
# TODO: Hyprland Module
|
||||
# TODO: Move Hyprland config to NixFlake/config/hyprland and link from here
|
||||
|
||||
# TODO: Latex module
|
||||
home.file."texmf/tex/latex/custom/christex.sty".source = ../../config/latex/christex.sty;
|
||||
home.file."Notes/Obsidian/Chriphost/christex.sty".source = ../../config/latex/christex.sty; # For obsidian notes
|
||||
@ -360,7 +365,14 @@ rec {
|
||||
# Use NixCommunity binary cache
|
||||
cachix
|
||||
|
||||
# tor-browser-bundle-bin
|
||||
# TODO: Module
|
||||
# Hyprland stuff
|
||||
# dunst # NOTE: Use HM service
|
||||
libsForQt5.polkit-kde-agent # No idea if that comes with KDE
|
||||
slurp # Region selector for screensharing
|
||||
# rofi-wayland # App launcher # NOTE: Use HM Program
|
||||
webcord # Unshitted discord? Well, except Krisp of course
|
||||
ncspot # Spotify in cool (but slow)?
|
||||
];
|
||||
|
||||
# Packages with extra options managed by HomeManager natively
|
||||
@ -484,6 +496,20 @@ rec {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# NOTE: For Hyprland -> Enable from hyprland module
|
||||
rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
plugins = [
|
||||
pkgs.keepmenu # Rofi KeepassXC frontend
|
||||
];
|
||||
terminal = "${pkgs.kitty}/bin/kitty";
|
||||
|
||||
font = "JetBrains Mono 14";
|
||||
# theme =
|
||||
# extraConfig = '''';
|
||||
};
|
||||
|
||||
# Git status replacement with file selection by number
|
||||
scmpuff = {
|
||||
enable = true;
|
||||
@ -504,6 +530,7 @@ rec {
|
||||
enableFishIntegration = config.modules.fish.enable;
|
||||
};
|
||||
|
||||
# TODO: Module
|
||||
vscode = {
|
||||
enable = true;
|
||||
enableExtensionUpdateCheck = false;
|
||||
@ -628,6 +655,17 @@ rec {
|
||||
# TODO: Snippets
|
||||
};
|
||||
|
||||
# TODO: Belongs to hyprland module
|
||||
waybar = {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = false;
|
||||
};
|
||||
|
||||
# settings = {};
|
||||
# style = '''';
|
||||
};
|
||||
|
||||
# TODO: Check HM module options
|
||||
yt-dlp.enable = true;
|
||||
|
||||
@ -639,6 +677,11 @@ rec {
|
||||
|
||||
services = {
|
||||
# kdeconnect.enable = true; # Note: This does not setup the firewall at all
|
||||
|
||||
# TODO: To hyprland module
|
||||
dunst = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Nicely reload system units when changing configs
|
||||
|
@ -31,7 +31,7 @@ in {
|
||||
|
||||
extraModules
|
||||
|
||||
# I included the home config statically like this as I am the only user
|
||||
# I included the home config statically like this as I am the only user.
|
||||
# I would have liked to make it more flexible (for multiple users on the same host)
|
||||
# but I failed because nix stopped autoinjecting the required arguments and I didn't
|
||||
# know how to handle that...
|
||||
|
@ -27,4 +27,18 @@
|
||||
# videoDrivers = [ "nvidia" ]; # NVIDIA
|
||||
videoDrivers = ["amdgpu"];
|
||||
};
|
||||
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
nvidiaPatches = false;
|
||||
recommendedEnvironment = true;
|
||||
|
||||
# NOTE: System module hyprland is configured in ~/.config/hypr/
|
||||
# extraConfig = ''
|
||||
# bind = SUPER,a,exec,rofi -show drun
|
||||
|
||||
# exec-once = dunst & # Notification daemon
|
||||
# exec-once = ${pkgs.libsForQt5.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1
|
||||
# '';
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user