diff --git a/nixos/cfg/home-manager.nix b/nixos/cfg/home-manager.nix index 67665c3..2605f53 100644 --- a/nixos/cfg/home-manager.nix +++ b/nixos/cfg/home-manager.nix @@ -85,7 +85,6 @@ bluez-tools spotify #spotifywm # fails to build - spotify-tray # doesn't open spicetify-cli # TODO vlc discord diff --git a/nixos/cfg/packages.nix b/nixos/cfg/packages.nix new file mode 100644 index 0000000..07e6697 --- /dev/null +++ b/nixos/cfg/packages.nix @@ -0,0 +1,43 @@ +{config, pkgs, ...}: + +{ + # List packages in root user PATH + environment.systemPackages = with pkgs; [ + wl-clipboard + alsa-utils + wget + tree + rsync + killall + ripgrep-all + neovim # TODO: use nix + imagemagick + usbutils + evtest + plasma5Packages.kio-admin + plasma5Packages.ksshaskpass + ]; + + fonts = { + fontconfig = { + enable = true; + /*defaultFonts = { + emoji = [ "Noto Color Emoji" ]; + monospace = [ "MesloLGS Nerd Font" ]; + sansSerif = [ "MesloLGS Nerd Font" ]; + serif = [ "MesloLGS Nerd Font" ]; + };*/ + }; + fonts = with pkgs; [ + (nerdfonts.override { fonts = [ "JetBrainsMono" "Go-Mono" "Iosevka" "NerdFontsSymbolsOnly" "SpaceMono" "Ubuntu" ]; }) + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + liberation_ttf + font-awesome + meslo-lgs-nf + jetbrains-mono + ubuntu_font_family + ]; + }; +} diff --git a/nixos/cfg/services.nix b/nixos/cfg/services.nix new file mode 100644 index 0000000..2ebf25e --- /dev/null +++ b/nixos/cfg/services.nix @@ -0,0 +1,92 @@ +{ config, pkgs, ... }: + +{ + services.xserver = { + enable = true; + layout = "ca"; + displayManager = { + gdm = { + enable = true; + wayland = true; + }; # gnome session needed to fix bugs + sessionPackages = [ pkgs.hyprland pkgs.gnome.gnome-session.sessions ]; + defaultSession = "hyprland"; + #autoLogin = { # logs out after a minute + # enable = true; + # user = "matt"; + #}; + }; + libinput.enable = true; + }; + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ + pkgs.xdg-desktop-portal-hyprland + ]; + + virtualisation = { + waydroid.enable = true; + lxd.enable = true; + }; + + services = { + dbus.enable = true; + flatpak.enable = true; + tlp.enable = true; + + locate = { + enable = true; + interval = "hourly"; + prunePaths = [ + "/tmp" + "/var/tmp" + "/var/cache" + "/var/lock" + "/var/run" + "/var/spool" + "/nix/var/log/nix" + "/proc" + ]; + }; + }; + + programs = { + + waybar = { + enable = true; + package = pkgs.waybar.overrideAttrs (oldAttrs: { + mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; + }); + }; + + tmux = { + enable = true; + keyMode = "vi"; + terminal = "screen-256color"; + newSession = true; + historyLimit = 30000; + extraConfig = '' + bind-key -n Home send Escape "OH" + bind-key -n End send Escape "OF" + set -g mouse on + set -ga terminal-overrides ',xterm*:smcup@:rmcup@' + bind -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M" + bind -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M" + ''; + }; + + git = { # TODO: make better config + enable = true; + lfs.enable = true; + }; + + htop = { + enable = true; + }; + + fzf = { + fuzzyCompletion = true; + keybindings = true; + }; + }; +}