126 lines
2.3 KiB
Nix
126 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
|
|
gimp
|
|
qbittorrent
|
|
termius
|
|
];
|
|
|
|
# Must match the value you originally installed with (do not change casually)
|
|
system.stateVersion = "25.05";
|
|
}
|