From 142c2a6103afb931103f4a01729873b3ac7296d8 Mon Sep 17 00:00:00 2001 From: Varris Date: Thu, 25 May 2023 16:44:15 +0200 Subject: [PATCH] update --- configuration.nix | 2 +- flake.nix | 166 ++++---------------- hardware-configuration.nix | 2 +- overlay.nix | 74 +++++++++ user/configs/beets/default.nix | 2 +- user/configs/cava/default.nix | 2 +- user/configs/firefox/default.nix | 2 +- user/configs/fish/default.nix | 2 +- user/configs/kvantum/default.nix | 2 +- user/configs/mpd/default.nix | 2 +- user/configs/mpv/default.nix | 2 +- user/configs/neovim/default.nix | 3 +- user/configs/neovim/init.lua | 7 +- user/configs/rofi/catppuccin-macchiato.rasi | 4 +- user/configs/rofi/default.nix | 2 +- user/configs/wayland/hyprland/default.nix | 10 +- user/configs/wayland/waybar/default.nix | 17 +- user/configs/wayland/waybar/style.css | 17 +- user/configs/xdg-mime.nix | 2 +- user/home.nix | 21 +-- 20 files changed, 160 insertions(+), 181 deletions(-) create mode 100644 overlay.nix diff --git a/configuration.nix b/configuration.nix index d6b0629..f231f58 100755 --- a/configuration.nix +++ b/configuration.nix @@ -1,7 +1,7 @@ # 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’). -{ config, pkgs, lib, inputs, ... }: +{ pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. diff --git a/flake.nix b/flake.nix index a76166f..a9427ba 100755 --- a/flake.nix +++ b/flake.nix @@ -3,58 +3,18 @@ inputs = { nixpkgs.url = "nixpkgs/nixpkgs-unstable"; - - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - xorg-git = { - url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; - flake = false; - }; - - grub2-themes = { - url = "github:vinceliuice/grub2-themes"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - hyprland = { - url = "github:hyprwm/hyprland"; - - inputs.nixpkgs.follows = "nixpkgs"; - }; - - hyprland-contrib = { - url = "github:hyprwm/contrib"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - hyprpicker = { - url = "github:hyprwm/hyprpicker"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - openmw-git = { - url = "gitlab:OpenMW/openmw"; - flake = false; - }; - - waybar = { - url = "github:alexays/waybar"; - flake = false; - }; - - gruvbox-kvantum = { - url = "github:thefallnn/Gruvbox-Kvantum"; - flake = false; - }; - - chaotic-nyx.url = "github:chaotic-aur/nyx"; - - #catppuccin theme repos + home-manager.url = "github:nix-community/home-manager"; + hyprland.url = "github:hyprwm/hyprland"; + hyprland-contrib.url = "github:hyprwm/contrib"; + hyprpicker.url = "github:hyprwm/hyprpicker"; + chaotic-nyx.url = "github:chaotic-cx/nyx"; + arrpc = { url = "github:notashelf/arrpc-flake"; inputs.nixpkgs.follows = "nixpkgs"; }; + xorg-git = { url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; flake = false; }; + grub2-themes = { url = "github:vinceliuice/grub2-themes"; inputs.nixpkgs.follows = "nixpkgs"; }; + openmw-git = { url = "gitlab:OpenMW/openmw"; flake = false; }; + waybar = { url = "github:alexays/waybar"; flake = false; }; + gruvbox-kvantum = { url = "github:thefallnn/Gruvbox-Kvantum"; flake = false; }; catppuccin-hyprland = { url = "github:catppuccin/hyprland"; flake = false; }; - }; outputs = { self, nixpkgs, home-manager, ... }@inputs: @@ -69,83 +29,15 @@ }; overlays = [ self.overlays.default - inputs.chaotic-nyx.overlays.default - inputs.hyprland.overlays.default - inputs.hyprland-contrib.overlays.default - inputs.hyprpicker.overlays.default + inputs.chaotic-nyx.overlays.default + inputs.hyprland.overlays.default + inputs.hyprland-contrib.overlays.default + inputs.hyprpicker.overlays.default ]; }; in { - overlays.default = final: prev: { - nerdfonts = prev.nerdfonts.override { - fonts = [ "JetBrainsMono" ]; - }; - - xwayland = prev.xwayland.overrideAttrs (old: { - version = "9999"; - src = inputs.xorg-git; - buildInputs = old.buildInputs ++ [ - prev.udev - prev.xorg.libpciaccess - ]; - }); - - waybar_hyprland = prev.waybar.overrideAttrs (old: { - version = "9999"; - src = inputs.waybar; - - preConfigure = '' - sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \ - src/modules/wlr/workspace_manager.cpp - ''; - - mesonFlags = old.mesonFlags ++ [ - "-Dexperimental=true" - "-Dcava=disabled" - ]; - }); - - steam = prev.steam.override { - extraPkgs = pkgs: [ - pkgs.gnome.zenity - pkgs.xdg-user-dirs - ]; - extraLibraries = pkgs: [ - ]; - }; - - openmw = prev.openmw.overrideAttrs (old: { - version = "9999"; - src = inputs.openmw-git; - - buildInputs = old.buildInputs ++ [ pkgs.libyamlcpp pkgs.luajit ]; - - patches = []; - dontWrapQtApps = false; - }); - - ncmpcpp = prev.ncmpcpp.override { - visualizerSupport = true; - }; - - catppuccin-gtk-macchiato = prev.catppuccin-gtk.override { - accents = [ "lavender" ]; - size = "standard"; - variant = "macchiato"; - }; - - catppuccin-kvantum-macchiato = prev.catppuccin-kvantum.override { - accent = "Lavender"; - variant = "Macchiato"; - }; - - catppuccin-papirus-folders-macchiato = prev.catppuccin-papirus-folders.override { - accent = "lavender"; - flavor = "macchiato"; - }; - - }; + overlays = (import ./overlay.nix { inherit inputs; }); nixosConfigurations.terra = nixpkgs.lib.nixosSystem { @@ -153,21 +45,21 @@ 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; }; - }; + # needed to get tools working that expect a nixpkgs channel to exist + nix.nixPath = [ "nixpkgs=${nixpkgs}" ]; + nix.registry = { nixpkgs.flake = nixpkgs; }; } - inputs.grub2-themes.nixosModules.default + ./configuration.nix + home-manager.nixosModules.home-manager + { + home-manager = { + useUserPackages = true; + users.manuel = import ./user/home.nix; + extraSpecialArgs = { inherit inputs pkgs; }; + }; + } + inputs.grub2-themes.nixosModules.default inputs.chaotic-nyx.nixosModules.default ]; }; diff --git a/hardware-configuration.nix b/hardware-configuration.nix index 8643887..b95b450 100755 --- a/hardware-configuration.nix +++ b/hardware-configuration.nix @@ -1,7 +1,7 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: +{ config, lib, modulesPath, ... }: { imports = diff --git a/overlay.nix b/overlay.nix new file mode 100644 index 0000000..c820f93 --- /dev/null +++ b/overlay.nix @@ -0,0 +1,74 @@ +{ inputs }: +{ + default = final: prev: { + + arrpc = inputs.arrpc.packages.${prev.system}.arrpc; + + catppuccin-gtk-macchiato = prev.catppuccin-gtk.override { + accents = [ "lavender" ]; + size = "standard"; + variant = "macchiato"; + }; + + catppuccin-kvantum-macchiato = prev.catppuccin-kvantum.override { + accent = "Lavender"; + variant = "Macchiato"; + }; + + catppuccin-papirus-folders-macchiato = prev.catppuccin-papirus-folders.override { + accent = "lavender"; + flavor = "macchiato"; + }; + + ncmpcpp = prev.ncmpcpp.override { + visualizerSupport = true; + }; + + nerdfonts = prev.nerdfonts.override { + fonts = [ "JetBrainsMono" ]; + }; + + openmw = prev.openmw.overrideAttrs (old: { + version = "9999"; + src = inputs.openmw-git; + + buildInputs = old.buildInputs ++ [ prev.libyamlcpp prev.luajit ]; + + patches = []; + dontWrapQtApps = false; + }); + + steam = prev.steam.override { + extraPkgs = prev: [ + prev.gnome.zenity + prev.xdg-user-dirs + ]; + extraLibraries = prev: [ ]; + }; + + waybar_hyprland = prev.waybar.overrideAttrs (old: { + version = "9999"; + src = inputs.waybar; + + preConfigure = '' + sed -i 's/zext_workspace_handle_v1_activate(workspace_handle_);/const std::string command = "hyprctl dispatch workspace " + name_;\n\tsystem(command.c_str());/g' \ + src/modules/wlr/workspace_manager.cpp + ''; + + mesonFlags = old.mesonFlags ++ [ + "-Dexperimental=true" + "-Dcava=disabled" + ]; + }); + + xwayland = prev.xwayland.overrideAttrs (old: { + version = "9999"; + src = inputs.xorg-git; + buildInputs = old.buildInputs ++ [ + prev.udev + prev.xorg.libpciaccess + ]; + }); + + }; +} diff --git a/user/configs/beets/default.nix b/user/configs/beets/default.nix index 565cbce..9b8bde4 100755 --- a/user/configs/beets/default.nix +++ b/user/configs/beets/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: { +{ ... }: { programs.beets = { enable = true; diff --git a/user/configs/cava/default.nix b/user/configs/cava/default.nix index d3f46ae..f0e363f 100644 --- a/user/configs/cava/default.nix +++ b/user/configs/cava/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, lib, ... }: +{ pkgs, lib, ... }: { home.packages = [ pkgs.cava ]; diff --git a/user/configs/firefox/default.nix b/user/configs/firefox/default.nix index 80798d2..405c0f4 100755 --- a/user/configs/firefox/default.nix +++ b/user/configs/firefox/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: { programs.browserpass = { enable = true; diff --git a/user/configs/fish/default.nix b/user/configs/fish/default.nix index 913f40a..9efb3a9 100755 --- a/user/configs/fish/default.nix +++ b/user/configs/fish/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: +{ config, pkgs, ... }: { programs.exa = { enable = true; diff --git a/user/configs/kvantum/default.nix b/user/configs/kvantum/default.nix index e458cc9..4df547e 100644 --- a/user/configs/kvantum/default.nix +++ b/user/configs/kvantum/default.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, inputs, ... }: +{ pkgs, ... }: { home.packages = [ pkgs.libsForQt5.qtstyleplugin-kvantum diff --git a/user/configs/mpd/default.nix b/user/configs/mpd/default.nix index 78b8757..42e3b01 100755 --- a/user/configs/mpd/default.nix +++ b/user/configs/mpd/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: { +{ ... }: { services.mpd = { enable = true; musicDirectory = "/mnt/hdd/Music"; diff --git a/user/configs/mpv/default.nix b/user/configs/mpv/default.nix index 3035c3a..0afbac1 100755 --- a/user/configs/mpv/default.nix +++ b/user/configs/mpv/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: { +{ ... }: { programs.mpv = { enable = true; config = { diff --git a/user/configs/neovim/default.nix b/user/configs/neovim/default.nix index 081e83d..32aab5e 100644 --- a/user/configs/neovim/default.nix +++ b/user/configs/neovim/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { programs.neovim = { enable = true; @@ -42,6 +42,7 @@ nil lua-language-server clang-tools + rust-analyzer ]; }; } diff --git a/user/configs/neovim/init.lua b/user/configs/neovim/init.lua index 4fbc79b..48ba021 100644 --- a/user/configs/neovim/init.lua +++ b/user/configs/neovim/init.lua @@ -16,6 +16,7 @@ vim.o.timeoutlen = 100 vim.wo.number = true vim.wo.relativenumber = true + require("catppuccin").setup({ flavour = "macchiato", transparent_background = true, @@ -120,10 +121,15 @@ lspconfig.lua_ls.setup { }, }, } + lspconfig.clangd.setup { capabilities = capabilities, } +lspconfig.rust_analyzer.setup { + capabilities = capabilities, +} + require("luasnip.loaders.from_vscode").lazy_load() local has_words_before = function() @@ -243,7 +249,6 @@ cmp.setup.cmdline("/", { { name = "buffer" }, }) }) - -- keymaps vim.keymap.set("n", "", "NeoTreeFocusToggle") diff --git a/user/configs/rofi/catppuccin-macchiato.rasi b/user/configs/rofi/catppuccin-macchiato.rasi index 5c5898c..e55cfb3 100644 --- a/user/configs/rofi/catppuccin-macchiato.rasi +++ b/user/configs/rofi/catppuccin-macchiato.rasi @@ -8,7 +8,7 @@ fg-col2: #ed8796; grey: #6e738d; - width: 600; + width: 800; font: "JetBrainsMono Nerd Font 10"; } @@ -18,7 +18,7 @@ element-text, element-icon , mode-switcher { } window { - height: 360px; + height: 460px; border: 3px; border-color: @border-col; background-color: @bg-col; diff --git a/user/configs/rofi/default.nix b/user/configs/rofi/default.nix index 14c6f27..f0ea14e 100644 --- a/user/configs/rofi/default.nix +++ b/user/configs/rofi/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ pkgs, ... }: { programs.rofi = { enable = true; diff --git a/user/configs/wayland/hyprland/default.nix b/user/configs/wayland/hyprland/default.nix index 14eb8ae..734b45a 100644 --- a/user/configs/wayland/hyprland/default.nix +++ b/user/configs/wayland/hyprland/default.nix @@ -31,7 +31,7 @@ let done ''; - killprocess = pkgs.writeShellScriptBin "killprocess.sh" '' + killprocess = pkgs.writeShellScriptBin "killprocess.sh" ''hypr ps -x -o pid=,comm= | column -t -o " " | ${pkgs.rofi-wayland}/bin/rofi -dmenu -p "kill process: " | awk '{print $1}' | uniq | xargs -r kill -9 ''; @@ -143,10 +143,13 @@ in exec = ${wob-voldaemon}/bin/wob-volumeindicator.sh; #Set cursor - exec-once = ${pkgs.hyprland}/bin/hyprctl setcursor capitaine-cursors-white 24 &> /dev/null + 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 + env = XCURSOR_SIZE,32 + #keybinds bind = ${modKey}, 1, workspace, 1 bind = ${modKey}, 2, workspace, 2 @@ -206,6 +209,7 @@ in '' ]; }; + home.file.".local/share/kservices5/swww.desktop".text = '' [Desktop Entry] Type=Service @@ -215,7 +219,7 @@ in Encoding=UTF-8 [Desktop Action setSWWWWallpaper] - Name=Set Wallpaper with swww + Name=Set Image as Wallpaper Exec=swww img "%f" ''; diff --git a/user/configs/wayland/waybar/default.nix b/user/configs/wayland/waybar/default.nix index 294677f..6f04c06 100755 --- a/user/configs/wayland/waybar/default.nix +++ b/user/configs/wayland/waybar/default.nix @@ -1,13 +1,6 @@ -{ config, pkgs, lib, nix-colors, ... }: +{ pkgs, lib, ... }: let wobsock = "/tmp/wob-vol.fifo"; - colors = config.colorScheme.colors; - - backgroundColorRGB = nix-colors.lib-core.conversions.hexToRGBString "," colors.base00; - backgroundAlpha = "0.7"; - - font = "JetBrainsMono Nerd Font"; - fontSize = "9pt"; ds-battery = pkgs.writeShellScriptBin "ds-battery.sh" '' ds_capacity_file="/sys/class/power_supply/ps-controller-battery-e8:47:3a:46:72:1b/capacity" @@ -60,6 +53,14 @@ in on-click = "activate"; on-scroll-up = "hyprctl dispatch workspace e+1"; on-scroll-down = "hyprctl dispatch workspace e-1"; + persistent_workspaces = { + "1" = [ "DP-1" ]; + "2" = [ "DP-1" ]; + "3" = [ "DP-1" ]; + "4" = [ "HDMI-A-1" ]; + "5" = [ "HDMI-A-1" ]; + "6" = [ "HDMI-A-1" ]; + }; }; "hyprland/window" = { diff --git a/user/configs/wayland/waybar/style.css b/user/configs/wayland/waybar/style.css index 1fd8db9..2a4289f 100644 --- a/user/configs/wayland/waybar/style.css +++ b/user/configs/wayland/waybar/style.css @@ -4,10 +4,14 @@ } window#waybar { - background: @base; + background: transparent; color: @text; } +window#waybar > box { + background-color: @base; +} + #wireplumber, #mpd, #custom-waybar-mpris, @@ -41,7 +45,7 @@ window#waybar { } #clock { - margin: 5px 10px 5px 0; + margin: 5px 5px 5px 0; } #workspaces { @@ -57,17 +61,14 @@ window#waybar { } #workspaces button:last-child { - background: @surface1; border-radius: 0px 10px 10px 0px; } #workspaces button:first-child { - background: @surface1; border-radius: 10px 0px 0px 10px; } #workspaces button:only-child { - background: @surface1; border-radius: 10px 10px 10px 10px; } @@ -77,8 +78,8 @@ window#waybar { font-weight: bold; } -#workspaces button.unfocused { - color: @text; +#workspaces button.persistent { + color: @mantle; background: @surface1; + font-weight: bold; } - diff --git a/user/configs/xdg-mime.nix b/user/configs/xdg-mime.nix index c52d86a..9e6bf31 100644 --- a/user/configs/xdg-mime.nix +++ b/user/configs/xdg-mime.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ ... }: { xdg.mimeApps = { enable = true; diff --git a/user/home.nix b/user/home.nix index 18fb5e5..7bc9ac6 100755 --- a/user/home.nix +++ b/user/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, nix-colors, ... }: +{ pkgs, inputs, ... }: { imports = [ ./configs/beets @@ -21,28 +21,29 @@ home.username = "manuel"; home.homeDirectory = "/home/manuel"; home.packages = with pkgs; [ - appimage-run - qt5ct + appimage-run bc bottom calcurse - libsForQt5.dolphin - libsForQt5.dolphin-plugins gimp gnome.file-roller + gnome.gnome-boxes gnome.gvfs gnome.seahorse gnome.simple-scan + libsForQt5.dolphin + libsForQt5.dolphin-plugins lutris mesa-demos nerdfonts noto-fonts-cjk-sans noto-fonts-cjk-serif obs-studio - openxray openmw pavucontrol protontricks + qbittorrent + qt5ct sc-im signal-desktop sshfs @@ -58,7 +59,6 @@ wineWowPackages.stagingFull xdg-utils xivlauncher - qbittorrent ]; home.sessionVariables = { @@ -114,9 +114,9 @@ }; cursorTheme = { - package = pkgs.capitaine-cursors; - name = "capitaine-cursors-white"; - size = 24; + package = pkgs.catppuccin-cursors.macchiatoLavender; + name = "Catppuccin-Macchiato-Lavender-Cursors"; + size = 32; }; }; @@ -144,6 +144,7 @@ }; services.gnome-keyring.enable = true; + services.easyeffects = { enable = true; preset = "DT770";