Initial commit
This commit is contained in:
122
hosts/desktop-main/configuration.nix
Normal file
122
hosts/desktop-main/configuration.nix
Normal file
@@ -0,0 +1,122 @@
|
||||
{ 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";
|
||||
}
|
||||
Reference in New Issue
Block a user