235 lines
8.3 KiB
Nix
235 lines
8.3 KiB
Nix
{ config, pkgs, host, lib, inputs, userconf, ... }:
|
|
|
|
let
|
|
# Load user-specific variables
|
|
userVars = import ./variables/user-vars.nix;
|
|
inherit (userVars) username gitUsername gitEmail keyboardLayout;
|
|
nixDirectory = "/home/${username}/NixOS";
|
|
in {
|
|
################################################################
|
|
# Module Imports
|
|
################################################################
|
|
|
|
imports = [
|
|
# Host-specific hardware configuration (autogenerated)
|
|
./hardware-configuration.nix
|
|
|
|
# System-level user definition
|
|
./user.nix
|
|
|
|
# Base and global modules
|
|
../../../Modules/System
|
|
|
|
# Home Manager integration
|
|
inputs.home-manager.nixosModules.home-manager
|
|
|
|
# nixos95
|
|
inputs.self.nixosModules.nixos95
|
|
|
|
];
|
|
################################################################
|
|
# Display & Desktop Environment
|
|
################################################################
|
|
|
|
nixos95 = {
|
|
enable = true;
|
|
user = username;
|
|
|
|
taskbar = {
|
|
homeIcon = "whisker-menu-button";
|
|
battery-plugin.enable = false;
|
|
applications = [
|
|
{
|
|
name = "Brave";
|
|
description = "Browse the Web";
|
|
pkg = pkgs.brave;
|
|
icon = "world";
|
|
}
|
|
{
|
|
name = "Signal";
|
|
description = "Private Messenger";
|
|
pkg = pkgs.signal-desktop;
|
|
icon = "signal";
|
|
}
|
|
{
|
|
name = "Obsidian";
|
|
description = "Markdown Editor";
|
|
exe = "obsidian %u";
|
|
icon = "obsidian";
|
|
}
|
|
{
|
|
name = "Spotify";
|
|
description = "Spotify Music";
|
|
exe = "spotify %U";
|
|
icon = "spotify";
|
|
}
|
|
];
|
|
};
|
|
|
|
keybinds = {
|
|
commands = [
|
|
{ key="<Alt>F2"; exe="xfce4-appfinder --collapsed"; }
|
|
{ key="<Super>r"; exe="xfce4-appfinedr --collapsed"; }
|
|
{ key="<Alt>Print"; exe="xfce4-screenshooter --window"; }
|
|
{ key="XF86WWW"; exe="exo-open --launch WebBrowser"; }
|
|
{ key="XF86Mail"; exe="exo-open --launch MailReader"; }
|
|
{ key="<Alt>F3"; exe="xfce4-appfinder" ; }
|
|
{ key="Print"; exe="xfce4-screenshooter"; }
|
|
{ key="<Primary>Escape"; exe="xfdesktop --menu"; }
|
|
{ key="<Shift>Print"; exe="xfce4-screenshooter -r"; }
|
|
{ key="<Primary><Alt>Delete"; exe="xfce4-session-logout"; }
|
|
{ key="<Alt><Super>s"; exe="orca"; }
|
|
{ key="<Primary><Alt>t"; exe="exo-open --launch TerminalEmulator"; }
|
|
{ key="<Primary><Alt>f"; exe="thunar"; }
|
|
{ key="<Primary><Alt>l"; exe="xflock4"; }
|
|
{ key="<Super>l"; exe="xflock4"; }
|
|
{ key="<Alt>F1"; exe="xfce4-popup-applicationsmenu"; }
|
|
{ key="<Super>p"; exe="xfce4-display-settings --minimal"; }
|
|
{ key="<Primary><Shift>Escape"; exe="xfce4-taskmanager"; }
|
|
{ key="<Super>e"; exe="thunar"; }
|
|
{ key="<Primary><Alt>Escape"; exe="xkill"; }
|
|
{ key="HomePage"; exe="exo-open --launch WebBrowser"; }
|
|
{ key="XF86Display"; exe="xfce4-display-settings --minimal"; }
|
|
];
|
|
xfwm4 = [
|
|
{ key="<Primary>F12"; exe="workspace_12_key"; }
|
|
{ key="<Super>KP_Down"; exe="tile_down_key"; }
|
|
{ key="<Alt>F4"; exe="close_window_key"; }
|
|
{ key="<Primary><Alt>KP_3"; exe="move_window_workspace_3_key"; }
|
|
{ key="<Primary>F2"; exe="workspace_2_key"; }
|
|
{ key="<Primary>F6"; exe="workspace_6_key"; }
|
|
{ key="<Primary><Alt>Down"; exe="down_workspace_key"; }
|
|
{ key="<Primary><Alt>KP_9"; exe="move_window_workspace_9_key"; }
|
|
{ key="<Super>KP_Up"; exe="tile_up_key"; }
|
|
{ key="<Primary><Alt>End"; exe="move_window_next_workspace_key"; }
|
|
{ key="<Primary>F8"; exe="workspace_8_key"; }
|
|
{ key="<Primary><Shift><Alt>Left"; exe="move_window_left_key"; }
|
|
{ key="<Super>KP_Right"; exe="tile_right_key"; }
|
|
{ key="<Primary><Alt>KP_4"; exe="move_window_workspace_4_key"; }
|
|
{ key="Right"; exe="right_key"; }
|
|
{ key="Down"; exe="down_key"; }
|
|
{ key="<Primary>F3"; exe="workspace_3_key"; }
|
|
{ key="<Shift><Alt>Page_Down"; exe="lower_window_key"; }
|
|
{ key="<Primary>F9"; exe="workspace_9_key"; }
|
|
{ key="<Alt>Tab"; exe="cycle_windows_key"; }
|
|
{ key="<Primary><Shift><Alt>Right"; exe="move_window_right_key"; }
|
|
{ key="<Primary><Alt>Right"; exe="right_workspace_key"; }
|
|
{ key="<Alt>F6"; exe="stick_window_key"; }
|
|
{ key="<Primary><Alt>KP_5"; exe="move_window_workspace_5_key"; }
|
|
{ key="<Primary>F11"; exe="workspace_11_key"; }
|
|
{ key="<Alt>F10"; exe="maximize_window_key"; }
|
|
{ key="<Alt>Delete"; exe="del_workspace_key"; }
|
|
{ key="<Super>Tab"; exe="switch_window_key"; }
|
|
{ key="<Primary><Alt>d"; exe="show_desktop_key"; }
|
|
{ key="<Primary>F4"; exe="workspace_4_key"; }
|
|
{ key="<Super>KP_Page_Up"; exe="tile_up_right_key"; }
|
|
{ key="<Alt>F7"; exe="move_window_key"; }
|
|
{ key="Up"; exe="up_key"; }
|
|
{ key="<Primary><Alt>KP_6"; exe="move_window_workspace_6_key"; }
|
|
{ key="<Alt>F11"; exe="fullscreen_key"; }
|
|
{ key="<Alt>space"; exe="popup_menu_key"; }
|
|
{ key="<Super>KP_Home"; exe="tile_up_left_key"; }
|
|
{ key="Escape"; exe="cancel_key"; }
|
|
{ key="<Primary><Alt>KP_1"; exe="move_window_workspace_1_key"; }
|
|
{ key="<Super>KP_Next"; exe="tile_down_right_key"; }
|
|
{ key="<Super>KP_Left"; exe="tile_left_key"; }
|
|
{ key="<Shift><Alt>Page_Up"; exe="raise_window_key"; }
|
|
{ key="<Primary><Alt>Home"; exe="move_window_prev_workspace_key"; }
|
|
{ key="<Alt><Shift>Tab"; exe="cycle_reverse_windows_key"; }
|
|
{ key="<Primary><Alt>Left"; exe="left_workspace_key"; }
|
|
{ key="<Alt>F12"; exe="above_key"; }
|
|
{ key="<Primary><Shift><Alt>Up"; exe="move_window_up_key"; }
|
|
{ key="<Primary>F5"; exe="workspace_5_key"; }
|
|
{ key="<Alt>F8"; exe="resize_window_key"; }
|
|
{ key="<Primary><Alt>KP_7"; exe="move_window_workspace_7_key"; }
|
|
{ key="<Primary><Alt>KP_2"; exe="move_window_workspace_2_key"; }
|
|
{ key="<Super>KP_End"; exe="tile_down_left_key"; }
|
|
{ key="<Primary><Alt>Up"; exe="up_workspace_key"; }
|
|
{ key="<Alt>F9"; exe="hide_window_key"; }
|
|
{ key="<Primary>F7"; exe="workspace_7_key"; }
|
|
{ key="<Primary>F10"; exe="workspace_10_key"; }
|
|
{ key="Left"; exe="left_key"; }
|
|
{ key="<Primary><Alt>KP_8"; exe="move_window_workspace_8_key"; }
|
|
{ key="<Alt>Insert"; exe="add_workspace_key"; }
|
|
{ key="<Primary>F1"; exe="workspace_1_key"; }
|
|
];
|
|
};
|
|
};
|
|
|
|
################################################################
|
|
# System Packages (XFCE & Utilities)
|
|
################################################################
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# Optional Extras
|
|
xfce.gigolo
|
|
xfce.xfce4-screenshooter
|
|
xfce.parole
|
|
# xfce.xfce4-clipman
|
|
|
|
# other:
|
|
zsh
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.steam = {
|
|
enable = true;
|
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
|
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
|
};
|
|
|
|
services.openssh.enable = true;
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
ohMyZsh = {
|
|
enable = true;
|
|
theme = "xiong-chiamiov-plus";
|
|
plugins = ["git"];
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
################################################################
|
|
# Home Manager Configuration
|
|
################################################################
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
useUserPackages = true;
|
|
backupFileExtension = "delme-HMbackup";
|
|
|
|
users.${username} = import ./home/home.nix {
|
|
inherit config nixDirectory pkgs;
|
|
};
|
|
};
|
|
|
|
################################################################
|
|
# Bootloader
|
|
################################################################
|
|
|
|
boot.loader = {
|
|
grub = {
|
|
enable = true;
|
|
efiSupport = false;
|
|
useOSProber = false;
|
|
devices = ["nodev"];
|
|
};
|
|
systemd-boot.enable = false;
|
|
efi.canTouchEfiVariables = false;
|
|
};
|
|
|
|
################################################################
|
|
# System Version
|
|
################################################################
|
|
|
|
system.stateVersion = "25.05";
|
|
}
|