diff --git a/configuration.nix b/configuration.nix index 6d416c9..e76eba0 100755 --- a/configuration.nix +++ b/configuration.nix @@ -1,10 +1,6 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). { pkgs, lib, ... }: { imports = [ -# Include the results of the hardware scan. ./hardware-configuration.nix ]; @@ -218,8 +214,10 @@ ''; systemd.user.extraConfig = '' -# needed for xdg-open to find the default browser + # needed for xdg-open to find the default browser. Why the fuck do I even need to do that? DefaultEnvironment="PATH=/etc/profiles/per-user/manuel/bin:/run/current/system/sw/bin" + + #Systemd is a meme. This is the proof DefaultTimeoutStopSec=10s ''; diff --git a/flake.nix b/flake.nix index 12c39ff..79a56f9 100755 --- a/flake.nix +++ b/flake.nix @@ -11,8 +11,8 @@ gruvbox-kvantum = { url = "github:thefallnn/Gruvbox-Kvantum"; flake = false; }; - fish-plugin-gruvbox-theme = { url = "github:Jomik/fish-gruvbox"; flake = false; }; fish-plugin-bobthefish = { url = "github:oh-my-fish/theme-bobthefish"; flake = false; }; + fish-plugin-gruvbox-theme = { url = "github:Jomik/fish-gruvbox"; flake = false; }; arrpc = { url = "github:notashelf/arrpc-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; chaotic-nyx.url = "github:chaotic-cx/nyx"; @@ -24,50 +24,54 @@ outputs = { self, nixpkgs, home-manager, ... }@inputs: let - system = "x86_64-linux"; + system = "x86_64-linux"; - pkgs = import nixpkgs { - inherit system; - config = { - allowUnfree = true; - allowUnsupportedSystem = true; - }; - overlays = [ - self.overlays.default - inputs.chaotic-nyx.overlays.default - inputs.hyprland.overlays.default - inputs.hyprland-contrib.overlays.default - inputs.hyprpicker.overlays.default - ]; - }; - in - { - overlays = (import ./overlay.nix { inherit inputs; }); + pkgs = import nixpkgs { - nixosConfigurations.terra = nixpkgs.lib.nixosSystem + inherit system; + + config = { + allowUnfree = true; + allowUnsupportedSystem = true; + }; + + overlays = [ + self.overlays.default + inputs.chaotic-nyx.overlays.default + inputs.hyprland.overlays.default + inputs.hyprland-contrib.overlays.default + inputs.hyprpicker.overlays.default + ]; + }; + in { - inherit system; - inherit pkgs; - specialArgs = { inherit inputs; }; - modules = [ - { - # needed to get tools working that expect a nixpkgs channel to exist - nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; - nix.registry = { nixpkgs.flake = nixpkgs; }; - } - ./configuration.nix - home-manager.nixosModules.home-manager - { - home-manager = { - useUserPackages = true; - users.manuel = import ./user/home.nix; - extraSpecialArgs = { inherit inputs pkgs; }; - }; - } - inputs.chaotic-nyx.nixosModules.default - inputs.grub2-themes.nixosModules.default - ]; + overlays = (import ./overlay.nix { inherit inputs; }); + + nixosConfigurations.terra = nixpkgs.lib.nixosSystem + { + inherit system; + inherit pkgs; + specialArgs = { inherit inputs; }; + modules = [ + { + # needed to get tools working that expect a nixpkgs channel to exist + nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; + nix.registry.nixpkgs.flake = nixpkgs; + } + ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager = { + useUserPackages = true; + users.manuel = import ./user/home.nix; + extraSpecialArgs = { inherit inputs; }; + useGlobalPkgs = true; + }; + } + inputs.chaotic-nyx.nixosModules.default + inputs.grub2-themes.nixosModules.default + ]; + }; }; - }; } diff --git a/overlay.nix b/overlay.nix index 93b5d25..c96d84f 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,9 +1,11 @@ -{ inputs }: +{ inputs, ... }: { default = final: prev: { arrpc = inputs.arrpc.packages.${prev.system}.arrpc; + gruvbox-plus-icon-pack = prev.callPackage ./pkgs/gruvbox-plus-icon-pack {}; + ncmpcpp = prev.ncmpcpp.override { visualizerSupport = true; }; diff --git a/pkgs/gruvbox-plus-icon-pack/default.nix b/pkgs/gruvbox-plus-icon-pack/default.nix new file mode 100644 index 0000000..78d5955 --- /dev/null +++ b/pkgs/gruvbox-plus-icon-pack/default.nix @@ -0,0 +1,23 @@ +{ stdenvNoCC, fetchFromGitHub, gtk3 }: + +stdenvNoCC.mkDerivation rec { + pname = "gruvbox-plus-icon-pack"; + version = "3.1"; + + src = fetchFromGitHub { + owner = "SylEleuth"; + repo = pname; + rev = "v${version}"; + hash = "sha256-HOgH7BPb3wsgrFEotz9+RNTZL7mYnI9Y58L5vxd/F2Y="; + }; + + nativeBuildInputs = [ gtk3 ]; + + installPhase = '' + mkdir -p $out/share/icons/GruvboxPlus + cp -r * $out/share/icons/GruvboxPlus + gtk-update-icon-cache $out/share/icons/GruvboxPlus + ''; + + dontDropIconThemeCache = true; +} diff --git a/user/configs/cava/default.nix b/user/configs/cava/default.nix index f0e363f..5f28865 100644 --- a/user/configs/cava/default.nix +++ b/user/configs/cava/default.nix @@ -14,20 +14,6 @@ sample_rate = "44100"; sample_bits = "16"; }; - - color = { - gradient = "1"; - - - gradient_color_1 = "'#8bd5ca'"; - gradient_color_2 = "'#91d7e3'"; - gradient_color_3 = "'#7dc4e4'"; - gradient_color_4 = "'#8aadf4'"; - gradient_color_5 = "'#c6a0f6'"; - gradient_color_6 = "'#f5bde6'"; - gradient_color_7 = "'#ee99a0'"; - gradient_color_8 = "'#ed8796'"; - }; }; } diff --git a/user/configs/mpd/default.nix b/user/configs/mpd/default.nix index 42e3b01..4c9dedf 100755 --- a/user/configs/mpd/default.nix +++ b/user/configs/mpd/default.nix @@ -55,7 +55,7 @@ settings = { visualizer_data_source = "/tmp/mpd.fifo"; visualizer_output_name = "my_fifo"; - visualizer_in_stereo = false; + visualizer_in_stereo = true; visualizer_type = "spectrum"; visualizer_look = "+│"; diff --git a/user/configs/neovim/default.nix b/user/configs/neovim/default.nix index d125caa..29187cd 100644 --- a/user/configs/neovim/default.nix +++ b/user/configs/neovim/default.nix @@ -42,9 +42,10 @@ extraPackages = with pkgs; [ clang-tools lua-language-server - nil + rnix-lsp rust-analyzer nodePackages.vscode-css-languageserver-bin + zls ]; }; } diff --git a/user/configs/neovim/init.lua b/user/configs/neovim/init.lua index cef1507..405165e 100644 --- a/user/configs/neovim/init.lua +++ b/user/configs/neovim/init.lua @@ -105,9 +105,9 @@ local capabilities = require('cmp_nvim_lsp').default_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true local lspconfig = require("lspconfig") -lspconfig.nil_ls.setup { - capabilities = capabilities, -} + +lspconfig.rnix.setup { capabilities = capabilities } + lspconfig.lua_ls.setup { capabilities = capabilities, settings = { @@ -125,6 +125,7 @@ lspconfig.lua_ls.setup { lspconfig.clangd.setup { capabilities = capabilities } lspconfig.rust_analyzer.setup { capabilities = capabilities } +lspconfig.zls.setup { capabilities = capabilities } lspconfig.cssls.setup { capabilities = capabilities, @@ -212,7 +213,7 @@ cmp.setup({ cmp.select_next_item() -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() -- they way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then + elseif luasnip.expand_or_locally_jumpable() then luasnip.expand_or_jump() elseif has_words_before() then cmp.complete() diff --git a/user/configs/rofi/theme.rasi b/user/configs/rofi/theme.rasi index 78b7136..0cbb73a 100644 --- a/user/configs/rofi/theme.rasi +++ b/user/configs/rofi/theme.rasi @@ -1,6 +1,6 @@ * { bg-col: #282828; - border-col: #98971A; + border-col: #665C54; selected-col: #504945; prompt: #504945; fg-col: #ebdbb2; diff --git a/user/configs/wayland/hyprland/default.nix b/user/configs/wayland/hyprland/default.nix index 7f1d55d..8b0db96 100644 --- a/user/configs/wayland/hyprland/default.nix +++ b/user/configs/wayland/hyprland/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, inputs, ... }: +{ config, pkgs, inputs, ... }: let wobsock = "/tmp/wob-vol.fifo"; @@ -87,7 +87,7 @@ in general { gaps_in = 16 border_size = 4 - col.active_border = rgba(98971aff) + col.active_border = rgba(665C54ff) col.inactive_border = rgba(282828ff) } @@ -137,14 +137,13 @@ in exec-once = ${xwaylandSetPrimary}/bin/xwayland-setprimary.sh exec-once = ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 exec-once = ${pkgs.swww}/bin/swww-daemon + exec-once = ${pkgs.arrpc}/bin/arRPC + exec-once = ${pkgs.jamesdsp}/bin/jamesdsp -t exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh; - - #Set cursor - exec-once = ${pkgs.hyprland}/bin/hyprctl setcursor Catppuccin-Macchiato-Lavender-Cursors 32 &> /dev/null - exec-once = ${pkgs.arrpc}/bin/arRPC - exec = pkill waybar; ${pkgs.waybar_hyprland}/bin/waybar + #Set cursor + exec = ${pkgs.hyprland}/bin/hyprctl setcursor "${config.gtk.cursorTheme.name}" 32 &> /dev/null env = XCURSOR_SIZE,32 diff --git a/user/configs/wayland/mako/default.nix b/user/configs/wayland/mako/default.nix index 286c460..9f53874 100755 --- a/user/configs/wayland/mako/default.nix +++ b/user/configs/wayland/mako/default.nix @@ -9,7 +9,7 @@ height = 320; backgroundColor = "#282828B3"; - borderColor = "#98971aff"; + borderColor = "#665C54ff"; textColor = "#ebdbb2"; progressColor = "over #665c54"; borderRadius = 10; diff --git a/user/configs/wayland/waybar/macchiato.css b/user/configs/wayland/waybar/macchiato.css deleted file mode 100644 index e0623d2..0000000 --- a/user/configs/wayland/waybar/macchiato.css +++ /dev/null @@ -1,38 +0,0 @@ -/* -* -* Catppuccin Macchiato palette -* Maintainer: rubyowo -* -*/ - -/* @define-color base #24273a; */ -@define-color base rgba(36,39,58,0.7); -@define-color mantle #1e2030; -@define-color crust #181926; - -@define-color text #cad3f5; -@define-color subtext0 #a5adcb; -@define-color subtext1 #b8c0e0; - -@define-color surface0 #363a4f; -@define-color surface1 #494d64; -@define-color surface2 #5b6078; - -@define-color overlay0 #6e738d; -@define-color overlay1 #8087a2; -@define-color overlay2 #939ab7; - -@define-color blue #8aadf4; -@define-color lavender #b7bdf8; -@define-color sapphire #7dc4e4; -@define-color sky #91d7e3; -@define-color teal #8bd5ca; -@define-color green #a6da95; -@define-color yellow #eed49f; -@define-color peach #f5a97f; -@define-color maroon #ee99a0; -@define-color red #ed8796; -@define-color mauve #c6a0f6; -@define-color pink #f5bde6; -@define-color flamingo #f0c6c6; -@define-color rosewater #f4dbd6; diff --git a/user/configs/wayland/wob/default.nix b/user/configs/wayland/wob/default.nix index 32d9ced..b434b3c 100755 --- a/user/configs/wayland/wob/default.nix +++ b/user/configs/wayland/wob/default.nix @@ -5,7 +5,7 @@ height = "40"; border_size = "2"; - border_color = "98971AFF"; + border_color = "282828FF"; background_color = "282828FF"; bar_color = "665C54FF"; diff --git a/user/configs/xdg-mime.nix b/user/configs/xdg-mime.nix index 9e6bf31..b6aaf6e 100644 --- a/user/configs/xdg-mime.nix +++ b/user/configs/xdg-mime.nix @@ -1,4 +1,3 @@ -{ ... }: { xdg.mimeApps = { enable = true; diff --git a/user/home.nix b/user/home.nix index d814aca..0688f22 100755 --- a/user/home.nix +++ b/user/home.nix @@ -23,6 +23,7 @@ bc bottom calcurse + jamesdsp gimp gnome.file-roller gnome.gnome-boxes @@ -56,8 +57,7 @@ webcord-vencord wineWowPackages.stagingFull xdg-utils - xivlauncher - ]; + ]; home.sessionVariables = { EDITOR = "nvim"; @@ -107,15 +107,15 @@ }; iconTheme = { - package = pkgs.gruvbox-dark-icons-gtk; - name = "oomox-gruvbox-dark"; + package = pkgs.gruvbox-plus-icon-pack; + name = "GruvboxPlus"; }; - # cursorTheme = { - # package = pkgs.catppuccin-cursors.macchiatoLavender; - # name = "Catppuccin-Macchiato-Lavender-Cursors"; - # size = 32; - # }; + cursorTheme = { + package = pkgs.capitaine-cursors-themed; + name = "Capitaine Cursors (Gruvbox) - White"; + size = 32; + }; }; programs = { @@ -144,7 +144,7 @@ services.gnome-keyring.enable = true; services.easyeffects = { - enable = true; + enable = false; preset = "DT770"; };