diff options
-rw-r--r-- | configuration.nix | 11 | ||||
-rw-r--r-- | flake.lock | 42 | ||||
-rw-r--r-- | home.nix | 199 |
3 files changed, 178 insertions, 74 deletions
diff --git a/configuration.nix b/configuration.nix index fd453f6..3d41161 100644 --- a/configuration.nix +++ b/configuration.nix @@ -21,6 +21,11 @@ services.xserver.enable = true; services.xserver.displayManager.startx.enable = true; + services.xserver.desktopManager.runXdgAutostartIfNone = true; + + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; services.xserver = { layout = "us"; @@ -78,9 +83,11 @@ xdg.portal = { enable = true; wlr.enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-kde ]; config.common.default = "*"; }; - system.stateVersion = "23.11"; + nixpkgs.config.permittedInsecurePackages = [ + "nix-2.15.3" + ]; } @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1709773529, - "narHash": "sha256-CNz9ybeR88j8QQxy7YNFa8RlNq3pWnXLvocWIt2n5Mg=", + "lastModified": 1710119954, + "narHash": "sha256-e7AMYtBQgRzeRtn//k1dXu22xeiav+G0cQjm3gEky7o=", "owner": "nix-community", "repo": "disko", - "rev": "a2009bc2b4e1d3ff5360048292deb0d610aa064b", + "rev": "d389901567d9ceda5a1a833fbf8e8e254e18eb0a", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709677081, - "narHash": "sha256-tix36Y7u0rkn6mTm0lA45b45oab2cFLqAzDbJxeXS+c=", + "lastModified": 1710021367, + "narHash": "sha256-FuMVdWqXMT38u1lcySYyv93A7B8wU0EGzUr4t4jQu8g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "880992dcc006a5e00dd0591446fdf723e6a51a64", + "rev": "b94a96839afcc56de3551aa7472b8d9a3e77e05d", "type": "github" }, "original": { @@ -59,11 +59,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1709428628, - "narHash": "sha256-//ZCCnpVai/ShtO2vPjh3AWgo8riXCaret6V9s7Hew4=", + "lastModified": 1710033658, + "narHash": "sha256-yiZiVKP5Ya813iYLho2+CcFuuHpaqKc/CoxOlANKcqM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "66d65cb00b82ffa04ee03347595aa20e41fe3555", + "rev": "b17375d3bb7c79ffc52f3538028b2ec06eb79ef8", "type": "github" }, "original": { @@ -75,11 +75,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1709356872, - "narHash": "sha256-mvxCirJbtkP0cZ6ABdwcgTk0u3bgLoIoEFIoYBvD6+4=", + "lastModified": 1709968316, + "narHash": "sha256-4rZEtEDT6jcgRaqxsatBeds7x1PoEiEjb6QNGb4mNrk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "458b097d81f90275b3fdf03796f0563844926708", + "rev": "0e7f98a5f30166cbed344569426850b21e4091d4", "type": "github" }, "original": { @@ -91,11 +91,11 @@ }, "nur": { "locked": { - "lastModified": 1709927144, - "narHash": "sha256-RIJ5Yg0L6iAZX+W5c9yhOTrAQhgmj1NKLoSTg3BZ2vI=", + "lastModified": 1710139026, + "narHash": "sha256-1dDwfcJ7JeLq1Q47ftS6aAKOhf1exXiph4Te4O2P5Lk=", "owner": "nix-community", "repo": "NUR", - "rev": "2a86b0c093a448ad66cef5a51eff81433a43edb8", + "rev": "4ee463208e545d6a1cba7b970c6da9fc08b4fa88", "type": "github" }, "original": { @@ -136,11 +136,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1709711091, - "narHash": "sha256-L0rSIU9IguTG4YqSj4B/02SyTEz55ACq5t8gXpzteYc=", + "lastModified": 1710039806, + "narHash": "sha256-vC2fo/phnetp6ub/nRv6mgAi5LbhJ6ujGQWrRD2VgNs=", "owner": "Mic92", "repo": "sops-nix", - "rev": "25dd60fdd08fcacee2567a26ba6b91fe098941dc", + "rev": "f8d5c8baa83fe620a28c0db633be9db3e34474b4", "type": "github" }, "original": { @@ -151,11 +151,11 @@ }, "wallpapers": { "locked": { - "lastModified": 1709929271, - "narHash": "sha256-nVjD33Okw6sluKiEf7HhAVlqzjyB35SbbEVYg0CXGkk=", + "lastModified": 1710138216, + "narHash": "sha256-LcgB1Fkb9PZLF9BiV310mSWe3emK1+aJ2gxkeSsuOQ4=", "owner": "ret2pop", "repo": "wallpapers", - "rev": "e1f2bf56a570886d41dde51b697d33468b9d39d3", + "rev": "18edf36b53936ee2eda766b7b29ee91b21e2d5cd", "type": "github" }, "original": { @@ -1,59 +1,67 @@ { config, lib, nixpkgs, pkgs, wallpapers, scripts, ... }: { + home.username = "preston"; home.homeDirectory = "/home/preston"; - home.packages = [ - pkgs.vim - pkgs.git - pkgs.curl - pkgs.wget - pkgs.pfetch - pkgs.cowsay - pkgs.ffmpeg - pkgs.hyprland - pkgs.grim - pkgs.acpilight - pkgs.light - pkgs.gnupg - pkgs.pass - pkgs.fira-code - pkgs.croc - pkgs.nixpkgs-fmt - pkgs.mu - pkgs.rust-analyzer - pkgs.cargo - pkgs.rnix-lsp - pkgs.clang - pkgs.bear - pkgs.gnumake - pkgs.clang-tools - pkgs.gammastep - pkgs.pinentry - pkgs.texliveFull - pkgs.helvum - pkgs.xdg-utils - pkgs.noto-fonts - pkgs.noto-fonts-cjk - pkgs.autobuild - pkgs.rsync - pkgs.pavucontrol - pkgs.swww - pkgs.fswebcam - pkgs.nmap - pkgs.mpc-cli - pkgs.python3 - pkgs.ghostscript - pkgs.hyprpaper - pkgs.pipes - pkgs.cmatrix - (pkgs.nerdfonts.override { fonts = [ "Iosevka" ]; }) - (pkgs.discord.override { + home.packages = with pkgs; [ + vim + git + curl + wget + pfetch + cowsay + ffmpeg + grim + acpilight + light + gnupg + (pass.withExtensions (ext: with ext; [ pass-audit pass-otp pass-import pass-genphrase pass-update pass-tomb])) + passExtensions.pass-otp + fira-code + croc + mu + rust-analyzer + cargo + clang + bear + gnumake + clang-tools + gammastep + pinentry + texliveFull + helvum + xdg-utils + noto-fonts + noto-fonts-cjk + autobuild + rsync + pavucontrol + swww + fswebcam + nmap + mpc-cli + python3 + ghostscript + hyprpaper + pipes + cmatrix + inkscape + rnix-lsp + nixfmt + podman-desktop + monero-gui + electrum + element-desktop + iamb + veracrypt + imagemagick + (nerdfonts.override { fonts = [ "Iosevka" ]; }) + (discord.override { withOpenASAR = true; withVencord = true; }) - pkgs.ungoogled-chromium + ungoogled-chromium ]; - fonts.fontconfig.enable = true; xsession.enable = true; home.stateVersion = "23.11"; @@ -82,6 +90,63 @@ ''; }; + services.pantalaimon = { + enable = true; + settings = { + Default = { + LogLevel = "Debug"; + SSL = true; + }; + local-matrix = { + Homeserver = "https://social.nullring.xyz"; + ListenAddress = "0.0.0.0"; + ListenPort = 8008; + SSL = false; + UseKeyring = false; + IgnoreVerification = true; + }; + }; + }; + + programs.nushell = { + enable = true; + extraConfig = '' + let carapace_completer = {|spans| + carapace $spans.0 nushell $spans | from json + } + $env.config = { + show_banner: false, + completions: { + case_sensitive: false # case-sensitive completions + quick: true # set to false to prevent auto-selecting completions + partial: true # set to false to prevent partial filling of the prompt + algorithm: "fuzzy" # prefix or fuzzy + external: { + # set to false to prevent nushell looking into $env.PATH to find more suggestions + enable: true + # set to lower can improve completion performance at the cost of omitting some options + max_results: 100 + completer: $carapace_completer # check 'carapace_completer' + } + } + } + $env.PATH = ($env.PATH | + split row (char esep) | + prepend /home/myuser/.apps | + append /usr/bin/env + ) + ''; + shellAliases = { + c = "clear"; + g = "git"; + v = "vim"; + h = "Hyprland"; + r = "gammastep -O 3000"; + ns = "nix-shell"; + n = "nix"; + nf = "nix flake"; + }; + }; programs.mpv = { enable = true; config = { @@ -295,7 +360,7 @@ enable_audio_bell = false; font_family = "Iosevka Nerd Font"; font_size = 14; - confirm_os_window_close = -1; + confirm_os_window_close = 0; background_opacity = "0.9"; # Catppuccin theme foreground = "#cdd6f4"; @@ -345,6 +410,7 @@ EnableTrackingProtection = true; OfferToSaveLogins = false; }; + package = pkgs.firefox-wayland; enable = true; profiles = { default = { @@ -779,6 +845,11 @@ ''; localVariables = { EDITOR = "emacsclient -n --alternate-editor=vim"; + INPUT_METHOD = "fcitx"; + QT_IM_MODULE = "fcitx"; + GTK_IM_MODULE = "fcitx"; + XMODIFIERS = "@im=fcitx"; + XIM_SERVERS = "fcitx"; }; shellAliases = { c = "clear"; @@ -841,6 +912,12 @@ epkgs.chatgpt-shell epkgs.ellama epkgs.latex-preview-pane + epkgs.treemacs + epkgs.treesit-auto + epkgs.gptel + epkgs.elpher + epkgs.lyrics-fetcher + epkgs.password-store ]; }; @@ -883,6 +960,7 @@ auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt + tls_certcheck off logfile ~/.msmtp.log # Gmail @@ -931,7 +1009,10 @@ exec-once = [ "waybar" "swww init" - "swww img ${wallpapers}/bigrobot.png" + "swww img ${wallpapers}/imagination.png" + "fcitx5-remote -r" + "fcitx5 -d --replace" + "fcitx5-remote -r" ]; blurls = [ "waybar" @@ -940,12 +1021,17 @@ "workspace 1, ^(.*emacs.*)$" "workspace 2, ^(.*firefox.*)$" "workspace 3, ^(.*discord.*)$" + "workspace 3, ^(.*element-desktop.*)$" + "pseudo,fcitx" ]; bind = [ "$mod, F, exec, firefox" "$mod, Return, exec, kitty" "$mod, E, exec, emacs" + "$mod, B, exec, electrum" + "$mod, M, exec, monero-wallet-gui" "$mod, V, exec, Discord" + "$mod, C, exec, element-desktop" "$mod, D, exec, wofi --show run" "$mod, P, exec, bash ${scripts}/powermenu.sh" "$mod, Q, killactive" @@ -988,7 +1074,7 @@ ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%-" ", XF86AudioNext, exec, mpc next" ", XF86AudioPrev, exec, mpc prev" - ", XF86MonBrightnessUp , exec, light -A 10" + ", XF86MonBrightnessUp , exec, light -A 10" ", XF86MonBrightnessDown, exec, light -U 10" ]; decoration = { @@ -1013,6 +1099,17 @@ }; }; }; + + i18n.inputMethod = { + enabled = "fcitx5"; + fcitx5.addons = with pkgs; [ + fcitx5-gtk + fcitx5-configtool + fcitx5-mozc + fcitx5-rime + ]; + }; + programs.home-manager.enable = true; } |