Files
nixos-config/hosts/desktop-main/configuration.nix
2026-02-01 00:42:40 +08:00

123 lines
2.3 KiB
Nix

{ myModules, inputs, pkgs, ... }:
{
imports = [
myModules.desktop.sway
myModules.desktop.greetd
myModules.audio.pipewire
myModules.network.networkmanager
myModules.network.firewall
myModules.misc.fonts
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.allowUnfree = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "desktop-main";
time.timeZone = "Asia/Hong_Kong";
i18n.defaultLocale = "en_US.UTF-8";
console.keyMap = "us";
# Users (host-owned, per your decision)
users.users.phill = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "video" "input" "audio" ];
shell = pkgs.fish;
};
security.sudo.wheelNeedsPassword = true;
programs.fish.enable = true;
my.desktop.sway = {
utilities = "full"; # minimal|essentials|full
x11Compatibility = true;
};
my.desktop.greetd = {
user = "phill";
command = "${pkgs.sway}/bin/sway";
};
my.audio.pipewire = {
support32Bit = true;
tools = "full"; # none|basic|full
};
my.network.networkmanager = {
wifiPowersave = false;
useResolved = true;
};
my.network.firewall = {
allowPing = true;
allowedTCPPorts = [ ];
trustedInterfaces = [ ];
};
my.misc.fonts.extra = with pkgs; [
nerd-fonts.fira-code
nerd-fonts.hack
];
programs.steam.enable = true;
programs.gamemode.enable = true;
programs.thunar.enable = true;
services.tumbler.enable = true;
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
environment.systemPackages = with pkgs; [
git
lazygit
go
firefox
foot
prismlauncher
discord
spotify
wireguard-tools
lua-language-server
vlc
gnumake
fd
ripgrep
bat
delta
fzf
tree-sitter
gcc
clang
zathura
texliveFull
tinymist
gopls
opencode
lsof
tmux
nodejs
localsend
luajitPackages.tiktoken_core
unzip
protonvpn-gui
cht-sh
zoxide
starship
filezilla
typst
];
# Must match the value you originally installed with (do not change casually)
system.stateVersion = "25.05";
}