Factored nix wm configs
This commit is contained in:
parent
02b4cdcabb
commit
af5411f330
4 changed files with 91 additions and 102 deletions
|
|
@ -19,6 +19,12 @@
|
||||||
"/share"
|
"/share"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||||
|
];
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Bluetooth daemon
|
# Bluetooth daemon
|
||||||
|
|
@ -91,6 +97,7 @@
|
||||||
pass-nodmenu # CLI password store (without dmenu dependency)
|
pass-nodmenu # CLI password store (without dmenu dependency)
|
||||||
pinentry-curses # Terminal-based pinentry program
|
pinentry-curses # Terminal-based pinentry program
|
||||||
python311 # Python
|
python311 # Python
|
||||||
|
socat # Interact with sockets
|
||||||
syncthing # Syncing files between machines
|
syncthing # Syncing files between machines
|
||||||
tldr # Brief info about a command
|
tldr # Brief info about a command
|
||||||
tmux # Terminal multiplexor
|
tmux # Terminal multiplexor
|
||||||
|
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
environment.sessionVariables = {
|
|
||||||
TERMINAL = "footclient";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Or else swaylock will not accept correct password
|
|
||||||
security.pam.services.swaylock = {};
|
|
||||||
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
inputMethod = {
|
|
||||||
# Have to install fcitx5 through here so that the binary is patched to be able to see the addons.
|
|
||||||
# If also installed through system packages, the binary without addonds will take precedence.
|
|
||||||
enabled = "fcitx5";
|
|
||||||
fcitx5.addons = with pkgs; [
|
|
||||||
fcitx5-configtool
|
|
||||||
fcitx5-rime
|
|
||||||
fcitx5-chinese-addons
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
source-han-sans
|
|
||||||
source-han-serif
|
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
|
||||||
];
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
hyprland = {
|
|
||||||
enable = true;
|
|
||||||
enableNvidiaPatches = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
blueman # Bluetooth manager
|
|
||||||
dunst # Notification daemon
|
|
||||||
eww-wayland
|
|
||||||
firefox # My browser of choice
|
|
||||||
foot # Wayland native terminal
|
|
||||||
hyprland-autoname-workspaces
|
|
||||||
hyprpaper
|
|
||||||
kanshi # Autorandr substitute
|
|
||||||
libnotify # Send messages to notification daemon
|
|
||||||
libreoffice # MSOffice btfo
|
|
||||||
pinentry-rofi # Rofi frontend for pinentry program
|
|
||||||
pyprland # Plugin manager for Hyprland
|
|
||||||
rofi # Menu prompt program
|
|
||||||
rofi-pass # Rofi frontend for password store
|
|
||||||
swaylock # Wayland session locker
|
|
||||||
swww # Sets background images
|
|
||||||
texlive.combined.scheme-full # LaTeX to create documents
|
|
||||||
typst # Cool, minimal LaTeX alternative
|
|
||||||
ungoogled-chromium # If I need a special chrome feature
|
|
||||||
waybar # Status bar
|
|
||||||
wdisplays # Arnadr substitute
|
|
||||||
wlr-randr # Xrandr substitute
|
|
||||||
|
|
||||||
# GTK Themes
|
|
||||||
lxappearance-gtk2 # Theme switcher
|
|
||||||
gruvbox-dark-gtk
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(self: super: {
|
|
||||||
wlroots-hyprland-nvidia = super.wlroots-hyprland-nvidia.overrideAttrs (oa: {
|
|
||||||
patches = (oa.patches or [ ]) ++ [
|
|
||||||
/home/vince/misc/DisplayLink_v2.patch
|
|
||||||
];
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,34 +1,10 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
environment.sessionVariables = {
|
|
||||||
TERMINAL = "st";
|
|
||||||
};
|
|
||||||
|
|
||||||
security.sudo.extraConfig = ''
|
security.sudo.extraConfig = ''
|
||||||
%wheel ALL=(ALL:ALL) NOPASSWD: ${pkgs.systemd}/bin/systemctl restart autorandr
|
%wheel ALL=(ALL:ALL) NOPASSWD: ${pkgs.systemd}/bin/systemctl restart autorandr
|
||||||
'';
|
'';
|
||||||
|
|
||||||
i18n = {
|
|
||||||
defaultLocale = "en_US.UTF-8";
|
|
||||||
inputMethod = {
|
|
||||||
# Have to install fcitx5 through here so that the binary is patched to be able to see the addons.
|
|
||||||
# If also installed through system packages, the binary without addonds will take precedence.
|
|
||||||
enabled = "fcitx5";
|
|
||||||
fcitx5.addons = with pkgs; [
|
|
||||||
fcitx5-configtool
|
|
||||||
fcitx5-rime
|
|
||||||
fcitx5-chinese-addons
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
source-han-sans
|
|
||||||
source-han-serif
|
|
||||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
|
||||||
];
|
|
||||||
|
|
||||||
# X Server
|
# X Server
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
84
.config/nixos/profiles/wm/hyprland.nix
Normal file
84
.config/nixos/profiles/wm/hyprland.nix
Normal file
|
|
@ -0,0 +1,84 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Or else swaylock will not accept correct password
|
||||||
|
security.pam.services.swaylock = {};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
hyprland = { # Dynamic tiling window manager
|
||||||
|
enable = true;
|
||||||
|
enableNvidiaPatches = true;
|
||||||
|
xwayland.enable = true;
|
||||||
|
};
|
||||||
|
waybar.enable = true; # Status bar
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.user.services = {
|
||||||
|
hyprland-autoname-workspaces = {
|
||||||
|
description = "Hyprland-autoname-workspaces as systemd service";
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
partOf = [ "graphical-session.target" ];
|
||||||
|
script = "${pkgs.hyprland-autoname-workspaces}/bin/hyprland-autoname-workspaces";
|
||||||
|
};
|
||||||
|
network-manager-applet = {
|
||||||
|
description = "Start the network manager applet";
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig.Type = "forking";
|
||||||
|
serviceConfig.Restart = "always";
|
||||||
|
serviceConfig.RestartSec = 2;
|
||||||
|
serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
blueman # Bluetooth manager
|
||||||
|
dunst # Notification daemon
|
||||||
|
eww-wayland
|
||||||
|
firefox # My browser of choice
|
||||||
|
foot # Wayland native terminal
|
||||||
|
gobble # Wayland alternative to devour
|
||||||
|
grim # Screenshot tool
|
||||||
|
grimblast # Allows freezing screen
|
||||||
|
hicolor-icon-theme # Icons
|
||||||
|
hyprland-autoname-workspaces
|
||||||
|
hyprpaper
|
||||||
|
kanshi # Autorandr substitute
|
||||||
|
libnotify # Send messages to notification daemon
|
||||||
|
libreoffice # MSOffice btfo
|
||||||
|
networkmanagerapplet # Wifi dropdown menu
|
||||||
|
pinentry-rofi # Rofi frontend for pinentry program
|
||||||
|
pyprland # Plugin manager for Hyprland
|
||||||
|
rofi # Menu prompt program
|
||||||
|
rofi-pass # Rofi frontend for password store
|
||||||
|
slurp # Screen selection utility
|
||||||
|
swaylock # Wayland session locker
|
||||||
|
swww # Sets background images
|
||||||
|
texlive.combined.scheme-full # LaTeX to create documents
|
||||||
|
typst # Cool, minimal LaTeX alternative
|
||||||
|
ungoogled-chromium # If I need a special chrome feature
|
||||||
|
wayland-utils
|
||||||
|
wdisplays # Arnadr substitute
|
||||||
|
wl-clipboard # Copy/paste utility
|
||||||
|
wlr-randr # Xrandr substitute
|
||||||
|
|
||||||
|
# GTK Themes
|
||||||
|
lxappearance-gtk2 # Theme switcher
|
||||||
|
gruvbox-dark-gtk
|
||||||
|
|
||||||
|
# Specific versions of packages
|
||||||
|
(import (builtins.fetchTarball {
|
||||||
|
url = "https://github.com/NixOS/nixpkgs/archive/9957cd48326fe8dbd52fdc50dd2502307f188b0d.tar.gz";
|
||||||
|
}) {}).hyprpicker # v0.1.1. Current verison causes segfault.
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(self: super: {
|
||||||
|
grimblast = super.grimblast.override (oa: {
|
||||||
|
hyprpicker = (import (builtins.fetchTarball {
|
||||||
|
url = "https://github.com/NixOS/nixpkgs/archive/9957cd48326fe8dbd52fdc50dd2502307f188b0d.tar.gz";
|
||||||
|
}) {}).hyprpicker; # v0.1.1. Current verison causes segfault.
|
||||||
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue