diff --git a/desktop/gnome/default.nix b/desktop/gnome/default.nix index c658ba9..6a11ea2 100644 --- a/desktop/gnome/default.nix +++ b/desktop/gnome/default.nix @@ -1,34 +1,100 @@ { config, pkgs, ... }: { - # Enable the X11 windowing system. - services.xserver.enable = true; - - # Enable the GNOME Desktop Environment. - services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome = { + boot.plymouth = { enable = true; }; - # Configure keymap in X11 - services.xserver = { - xkb = { - layout = "dk"; - variant = ""; - options = "caps:swapescape"; + services = { + xserver = { + enable = true; + excludePackages = [ pkgs.xterm ]; + + displayManager.gdm.enable = true; + desktopManager.gnome = { + enable = true; + }; + + xkb = { + layout = "dk"; + variant = ""; + options = "caps:swapescape"; + }; + }; + + udev = { + packages = [ + pkgs.gnome.gnome-settings-daemon + ]; + }; + + gnome = { + gnome-browser-connector.enable = false; + gnome-initial-setup.enable = false; + gnome-online-accounts.enable = false; + }; + + printing = { + enable = true; }; }; - environment.systemPackages = [ - pkgs.wl-clipboard - ]; - # Enable CUPS to print documents. - # services.printing.enable = true; + programs.dconf.enable = true; + + environment = { + systemPackages = [ + #pkgs.gnome.dconf-editor + pkgs.gnome.networkmanager-openconnect + pkgs.numix-icon-theme + pkgs.papirus-icon-theme + pkgs.arc-icon-theme + pkgs.wl-clipboard + pkgs.gnome.gnome-tweaks + ] ++ [ + #pkgs.alacritty # pkgs.gnome-console + #pkgs.firefox # pkgs.gnome.epiphany + ]; + + sessionVariables.NIXOS_OZONE_WL = "1"; + + gnome.excludePackages = [ + pkgs.gnome-connections + pkgs.gnome-console + pkgs.gnome-text-editor + pkgs.gnome-tour + # pkgs.gnome.adwaita-icon-theme + pkgs.gnome.epiphany + pkgs.gnome.evince + pkgs.gnome.file-roller + pkgs.gnome.geary + pkgs.gnome.gnome-backgrounds + # pkgs.gnome.gnome-calendar + pkgs.gnome.gnome-characters + # pkgs.gnome.gnome-clocks + pkgs.gnome.gnome-contacts + pkgs.gnome.gnome-font-viewer + pkgs.gnome.gnome-logs + pkgs.gnome.gnome-maps + pkgs.gnome.gnome-music + # pkgs.gnome.gnome-themes-extra + pkgs.gnome.gnome-weather + # pkgs.gnome.nautilus + pkgs.gnome.simple-scan + pkgs.gnome.sushi + pkgs.gnome.totem + pkgs.gnome.yelp + pkgs.orca + ]; + }; + fonts = { packages = with pkgs; [ - (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; }) + (nerdfonts.override { fonts = [ "FiraCode" ]; }) ubuntu_font_family + noto-fonts + noto-fonts-cjk + noto-fonts-emoji ]; enableDefaultPackages = true; fontconfig = { diff --git a/flake.lock b/flake.lock index 99c7ea8..81af6d1 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1712688495, - "narHash": "sha256-NrVLXkpT9ZigiI8md6NIzHS+3lE4QTj30IgXG57O9iM=", + "lastModified": 1713019815, + "narHash": "sha256-jzTo97VeKMNfnKw3xU+uiU5C7wtnLudsbwl/nwPLC7s=", "owner": "nix-community", "repo": "home-manager", - "rev": "b00d0e4fe9cba0047f54e77418ddda5f17e6ef2c", + "rev": "8fdf329526f06886b53b94ddf433848a0d142984", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1712695607, - "narHash": "sha256-rXb3onsPMiv00FrGSpIJyYa8x53W0dlbJ5Ka3xvje/c=", + "lastModified": 1712909959, + "narHash": "sha256-7/5ubuwdEbQ7Z+Vqd4u0mM5L2VMNDsBh54visp27CtQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "05aa46a1f3b5ac92bfe84807868ba9670d48b031", + "rev": "f58b25254be441cd2a9b4b444ed83f1e51244f1f", "type": "github" }, "original": { @@ -51,11 +51,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1712608508, - "narHash": "sha256-vMZ5603yU0wxgyQeHJryOI+O61yrX2AHwY6LOFyV1gM=", + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4cba8b53da471aea2ab2b0c1f30a81e7c451f4b6", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", "type": "github" }, "original": { @@ -67,11 +67,11 @@ }, "nur": { "locked": { - "lastModified": 1712692796, - "narHash": "sha256-q3Tx4kS+nH4IDcEsZSv8o2IuCn475mGhCYBXxfxZ2gY=", + "lastModified": 1713032848, + "narHash": "sha256-YCV0tgYG/s6Lq28iksdk4LyDF45UShxuCXf0yuiFSBc=", "owner": "nix-community", "repo": "NUR", - "rev": "ee4ce451f46a08778d1a9f9837eff0750714b08b", + "rev": "80d50c92b9d514cb18ce828d4c3e4239177728af", "type": "github" }, "original": { diff --git a/modules/basic/default.nix b/modules/basic/default.nix index 5d406a3..69b6f81 100644 --- a/modules/basic/default.nix +++ b/modules/basic/default.nix @@ -8,9 +8,6 @@ ./security.nix ./udev.nix ]; - environment.systemPackages = [ - pkgs.nfs-utils - ]; services = { fwupd.enable = true; diff --git a/modules/basic/network.nix b/modules/basic/network.nix index 56df0e1..7d77c02 100644 --- a/modules/basic/network.nix +++ b/modules/basic/network.nix @@ -3,8 +3,8 @@ { networking.networkmanager.enable = true; # - # environment.systemPackages = with pkgs; [ nfs-utils ]; + environment.systemPackages = with pkgs; [ nfs-utils ]; + boot.initrd.supportedFilesystems = [ "nfs" ]; # boot.initrd.kernelModules = [ "nfs" ]; - # boot.initrd.supportedFilesystems = [ "nfs" ]; # services.rpcbind.enable = true; } diff --git a/modules/basic/security.nix b/modules/basic/security.nix index 4f4f958..b7b1d4a 100644 --- a/modules/basic/security.nix +++ b/modules/basic/security.nix @@ -12,18 +12,23 @@ extraArgs = [ "--env=LC_ALL=C" "--env=GTK_THEME=Adwaita:dark" ]; }; }; - - # yubikey stuff - services.udev.packages = [ pkgs.yubikey-personalization ]; + environment.systemPackages = [ - pkgs.yubikey-personalization - pkgs.yubikey-personalization-gui - pkgs.yubikey-manager - pkgs.yubikey-manager-qt - pkgs.yubioath-flutter pkgs.gnupg pkgs.pinentry-gnome3 ]; + # # yubikey stuff + # services.udev.packages = [ pkgs.yubikey-personalization ]; + # environment.systemPackages = [ + # pkgs.yubikey-personalization + # pkgs.yubikey-personalization-gui + # pkgs.yubikey-manager + # pkgs.yubikey-manager-qt + # pkgs.yubioath-flutter + # pkgs.gnupg + # pkgs.pinentry-gnome3 + # ]; + networking.firewall.checkReversePath = false; } diff --git a/modules/docker/default.nix b/modules/docker/default.nix index 85ceee1..96eaf01 100644 --- a/modules/docker/default.nix +++ b/modules/docker/default.nix @@ -6,17 +6,7 @@ environment.systemPackages = with pkgs; [ docker-compose - k3s - ]; - - networking.firewall.allowedTCPPorts = [ - 6443 - ]; - - services.k3s.enable = true; - services.k3s.role = "server"; - services.k3s.extraFlags = toString [ - # "--disable servicelb" - "--disable traefik" + kubectl + colima ]; } diff --git a/user/default.nix b/user/default.nix index 0f56220..86ff394 100644 --- a/user/default.nix +++ b/user/default.nix @@ -8,7 +8,7 @@ isNormalUser = true; description = "Alice"; extraGroups = [ "networkmanager" "wheel" ]; - shell = pkgs.zsh; + shell = pkgs.bash; }; users.users."alice".openssh.authorizedKeys.keys = [ diff --git a/user/home.nix b/user/home.nix index 447a4ac..950535a 100644 --- a/user/home.nix +++ b/user/home.nix @@ -9,7 +9,7 @@ ./programs/terminal ./programs/kitty ./programs/firefox - ./programs/vscode + #./programs/vscode ]; home.file = { @@ -18,16 +18,7 @@ home.stateVersion = "23.11"; home.packages = [ - pkgs.spotify - pkgs.slack - pkgs.darktable - pkgs.rawtherapee pkgs.signal-desktop - pkgs.gimp - pkgs.blender - pkgs.discord - pkgs.bun - pkgs.localsend ]; diff --git a/user/programs/neovim/default.nix b/user/programs/neovim/default.nix index 9fdd7ef..ccb8881 100644 --- a/user/programs/neovim/default.nix +++ b/user/programs/neovim/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: let astronvim = builtins.fetchGit { @@ -10,7 +10,12 @@ let rev = "295278f715810a2917e0eb38c304cfc290e796d7"; }; in { - programs.neovim.enable = true; + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + }; home.packages = [ pkgs.marksman ]; diff --git a/user/programs/terminal/default.nix b/user/programs/terminal/default.nix index d31db7b..c2f303e 100644 --- a/user/programs/terminal/default.nix +++ b/user/programs/terminal/default.nix @@ -13,6 +13,10 @@ ]; home.packages = [ pkgs.eza + pkgs.zoxide + pkgs.sd + pkgs.tldr + pkgs.choose pkgs.fd pkgs.curl pkgs.silver-searcher @@ -21,6 +25,7 @@ pkgs.unzip pkgs.nodejs pkgs.gnumake + pkgs.atuin pkgs.gcc pkgs.nodePackages.pnpm pkgs.nodePackages.yarn @@ -29,11 +34,19 @@ pkgs.binutils pkgs.pkg-config pkgs.marksman + pkgs.duf + pkgs.dust + pkgs.rustscan ]; - programs.jq.enable = true; - programs.zsh.enable = true; - programs.yt-dlp.enable = true; + programs = { + jq.enable = true; + zsh.enable = true; + yt-dlp.enable = true; + starship = { + enable = true; + }; + }; home.file = { ".env".source = ./files/env; @@ -43,30 +56,30 @@ ".shellrc/rc.d" = { source = ./files/shell/rc.d; }; - ".oh-my-zsh" = { - source = builtins.fetchGit { - url = "https://github.com/ohmyzsh/ohmyzsh"; - rev = "b07c8cfe692bc6c7702f0aef5d493b12dfb43392"; - }; - }; - ".config/zsh/custom/plugins/zsh-autosuggestions" = { - source = builtins.fetchGit { - url = "https://github.com/zsh-users/zsh-autosuggestions"; - rev = "c3d4e576c9c86eac62884bd47c01f6faed043fc5"; - }; - }; - ".config/zsh/custom/plugins/zsh-syntax-highlighting" = { - source = builtins.fetchGit { - url = "https://github.com/zsh-users/zsh-syntax-highlighting"; - rev = "143b25eb98aa3227af63bd7f04413e1b3e7888ec"; - }; - }; - - ".config/zsh/custom/zsh-vi-mode" = { - source = builtins.fetchGit { - url = "https://github.com/jeffreytse/zsh-vi-mode"; - rev = "1f28e1886dc8e49f41b817634d5c7695b6abb145"; - }; - }; + # ".oh-my-zsh" = { + # source = builtins.fetchGit { + # url = "https://github.com/ohmyzsh/ohmyzsh"; + # rev = "b07c8cfe692bc6c7702f0aef5d493b12dfb43392"; + # }; + # }; + # ".config/zsh/custom/plugins/zsh-autosuggestions" = { + # source = builtins.fetchGit { + # url = "https://github.com/zsh-users/zsh-autosuggestions"; + # rev = "c3d4e576c9c86eac62884bd47c01f6faed043fc5"; + # }; + # }; + # ".config/zsh/custom/plugins/zsh-syntax-highlighting" = { + # source = builtins.fetchGit { + # url = "https://github.com/zsh-users/zsh-syntax-highlighting"; + # rev = "143b25eb98aa3227af63bd7f04413e1b3e7888ec"; + # }; + # }; + # + # ".config/zsh/custom/zsh-vi-mode" = { + # source = builtins.fetchGit { + # url = "https://github.com/jeffreytse/zsh-vi-mode"; + # rev = "1f28e1886dc8e49f41b817634d5c7695b6abb145"; + # }; + # }; }; } diff --git a/user/programs/terminal/files/bashrc b/user/programs/terminal/files/bashrc index 94097a3..e334a69 100644 --- a/user/programs/terminal/files/bashrc +++ b/user/programs/terminal/files/bashrc @@ -5,5 +5,11 @@ if [ -d $HOME/.shellrc/rc.d ]; then done fi +if [ -d $HOME/.shellrc/rc.d ]; then + for file in $HOME/.shellrc/rc.d/*.bash; do + source $file + done +fi + [ -f ~/.fzf.bash ] && source ~/.fzf.bash diff --git a/user/programs/terminal/files/shell/rc.d/00-vars.sh b/user/programs/terminal/files/shell/rc.d/00-vars.sh deleted file mode 100644 index e69de29..0000000 diff --git a/user/programs/terminal/files/shell/rc.d/01-load-env.sh b/user/programs/terminal/files/shell/rc.d/01-load-env.sh new file mode 100644 index 0000000..81f0a96 --- /dev/null +++ b/user/programs/terminal/files/shell/rc.d/01-load-env.sh @@ -0,0 +1,7 @@ +if [ -f $HOME/.systemrc ]; then + source $HOME/.systemrc +fi + +if [ -f $HOME/.env ]; then + source $HOME/.env +fi diff --git a/user/programs/terminal/files/shell/rc.d/02-alias.sh b/user/programs/terminal/files/shell/rc.d/02-alias.sh index 287b9ed..3330c1c 100644 --- a/user/programs/terminal/files/shell/rc.d/02-alias.sh +++ b/user/programs/terminal/files/shell/rc.d/02-alias.sh @@ -28,7 +28,7 @@ command -v xsel > /dev/null || alias copy='xsel -ib' command -v urxvt > /dev/null || alias n="setsid urxvt &>/dev/null" alias sc="sudo systemctl" -alias usermount="sudo mount -o gid=users,fmask=113,dmask=002" +alias usermount="sudo mount -o gid=users,fmask=113,dmask=002,nolock" alias fzf="fzf --preview 'bat {} --line-range 0:100 --color always'" alias stmux="tmux a -t base || tmux new -s base" diff --git a/user/programs/terminal/files/shell/rc.d/10-atuin.bash b/user/programs/terminal/files/shell/rc.d/10-atuin.bash new file mode 100644 index 0000000..56077d9 --- /dev/null +++ b/user/programs/terminal/files/shell/rc.d/10-atuin.bash @@ -0,0 +1 @@ +eval "$(atuin init bash)" diff --git a/user/programs/terminal/files/shell/rc.d/10-bun.sh b/user/programs/terminal/files/shell/rc.d/10-bun.sh deleted file mode 100644 index 5c37bcf..0000000 --- a/user/programs/terminal/files/shell/rc.d/10-bun.sh +++ /dev/null @@ -1,5 +0,0 @@ -if [ -d "$HOME/.bun" ]; then - export BUN_INSTALL="$HOME/.bun" - export PATH="$BUN_INSTALL/bin:$PATH" -fi - diff --git a/user/programs/terminal/files/shell/rc.d/10-logo.sh b/user/programs/terminal/files/shell/rc.d/10-logo.sh new file mode 100644 index 0000000..5a55737 --- /dev/null +++ b/user/programs/terminal/files/shell/rc.d/10-logo.sh @@ -0,0 +1,40 @@ +if [ `tput cols` -gt "70" ]; then +function PRINT_CENTER { + COLS=`tput cols` + OFFSET=$(( ($COLS - $1) / 2 )) + PRE="" + for i in `seq $OFFSET`; do + PRE="$PRE " + done + while IFS= read -r line; do + echo "$PRE$line" + done <<< "$2" +} +PRINT_CENTER 60 " + + ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ + █░▄▄▀█▀▄▄▀█░▄▄░█▄░▄█▀▄▀██░▄░██░██░█░▄▄█░▄▄░█ + █░▀▀▄█░██░█░▀▄░██░██░█▀█░▀▀░▀█░██░█▄▄▀███▄██ + █▄█▄▄██▄▄██░▀▀░██▄███▄█████░███▄▄▄█▄▄▄█░▀▀░█ + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ + + ⣴⣶⣤⡤⠦⣤⣀⣤⠆ ⣈⣭⣿⣶⣿⣦⣼⣆ + ⠉⠻⢿⣿⠿⣿⣿⣶⣦⠤⠄⡠⢾⣿⣿⡿⠋⠉⠉⠻⣿⣿⡛⣦ + ⠈⢿⣿⣟⠦ ⣾⣿⣿⣷ ⠻⠿⢿⣿⣧⣄ + ⣸⣿⣿⢧ ⢻⠻⣿⣿⣷⣄⣀⠄⠢⣀⡀⠈⠙⠿⠄ + ⢠⣿⣿⣿⠈ ⣻⣿⣿⣿⣿⣿⣿⣿⣛⣳⣤⣀⣀ + ⢠⣧⣶⣥⡤⢄ ⣸⣿⣿⠘ ⢀⣴⣿⣿⡿⠛⣿⣿⣧⠈⢿⠿⠟⠛⠻⠿⠄ + ⣰⣿⣿⠛⠻⣿⣿⡦⢹⣿⣷ ⢊⣿⣿⡏ ⢸⣿⣿⡇ ⢀⣠⣄⣾⠄ + ⣠⣿⠿⠛ ⢀⣿⣿⣷⠘⢿⣿⣦⡀ ⢸⢿⣿⣿⣄ ⣸⣿⣿⡇⣪⣿⡿⠿⣿⣷⡄ + ⠙⠃ ⣼⣿⡟ ⠈⠻⣿⣿⣦⣌⡇⠻⣿⣿⣷⣿⣿⣿ ⣿⣿⡇ ⠛⠻⢷⣄ + ⢻⣿⣿⣄ ⠈⠻⣿⣿⣿⣷⣿⣿⣿⣿⣿⡟ ⠫⢿⣿⡆ + ⠻⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣀⣤⣾⡿⠃ +▄▄▄ . ▌ ▐·▪ ▄▄▌ ▄▄▌ ▐ ▄▌▪ ▄▄▄▄▄ ▄ .▄ ▄• ▄▌▄▄▄▄▄ +▀▄.▀·▪█·█▌██ ██• ██· █▌▐███ •██ ██▪▐█ ▄█▀▄ █▪██▌•██ +▐▀▀▪▄▐█▐█•▐█·██ ▪ ██▪▐█▐▐▌▐█· ▐█.▪██▀▀█▐█▌.▐▌█▌▐█▌ ▐█.▪ +▐█▄▄▌ ███ ▐█▌▐█▌ ▄ ▐█▌██▐█▌▐█▌ ▐█▌·██▌▐▀▐█▌.▐▌▐█▄█▌ ▐█▌· + ▀▀▀ . ▀ ▀▀▀.▀▀▀ ▀▀▀▀ ▀▪▀▀▀ ▀▀▀ ▀▀▀ · ▀█▄▀▪ ▀▀▀ ▀▀▀ + + > welcome x_x +" +fi diff --git a/user/programs/terminal/files/shell/rc.d/10-starship.bash b/user/programs/terminal/files/shell/rc.d/10-starship.bash new file mode 100644 index 0000000..b6ee6e8 --- /dev/null +++ b/user/programs/terminal/files/shell/rc.d/10-starship.bash @@ -0,0 +1 @@ +eval "$(starship init bash)" diff --git a/user/programs/terminal/files/zshrc b/user/programs/terminal/files/zshrc index f56d090..7995d06 100644 --- a/user/programs/terminal/files/zshrc +++ b/user/programs/terminal/files/zshrc @@ -40,20 +40,12 @@ if [ -d $HOME/.shellrc/zshrc.d ]; then source $file done fi + export GPG_TTY=$(tty) if [[ -n "$SSH_CONNECTION" ]] ;then export PINENTRY_USER_DATA="USE_CURSES=1" fi -if [ -f $HOME/.systemrc ]; then - source $HOME/.systemrc -fi - - -[ -f ~/.env ] && source ~/.env - -alias luamake=~/.config/lua-language-server/3rd/luamake/luamake - if [ `tput cols` -gt "70" ]; then function PRINT_CENTER { COLS=`tput cols` @@ -97,5 +89,4 @@ fi export PATH=~/.npm-global/bin:$PATH export NODE_PATH=~/.npm-global/lib/node_modules -which wrk > /dev/null && eval `wrk tools bash`