diff --git a/flake.lock b/flake.lock index 6b2d33f..5827e5d 100755 --- a/flake.lock +++ b/flake.lock @@ -5,7 +5,9 @@ "compare-to": "compare-to", "flake-schemas": "flake-schemas", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "nixpkgs": [ + "nixpkgs" + ], "systems": "systems", "yafas": "yafas" }, @@ -351,24 +353,6 @@ "type": "github" } }, - "hyprland-contrib": { - "inputs": { - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1705671586, - "narHash": "sha256-JOwVlSgwo2nqQRcArelrx/lK9OUoUxaXUQThQw1q8oA=", - "owner": "hyprwm", - "repo": "contrib", - "rev": "72a67d0f58d0ed44a20341fddb2bdfa33c2a2558", - "type": "github" - }, - "original": { - "owner": "hyprwm", - "repo": "contrib", - "type": "github" - } - }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -471,36 +455,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1705496572, - "narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=", - "rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19", - "revCount": 572380, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.572380%2Brev-842d9d80cfd4560648c785f8a4e6f3b096790e19/018d1ccc-5ecb-7493-8d22-0252128f007d/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.0.tar.gz" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1658161305, - "narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1705697961, "narHash": "sha256-XepT3WS516evSFYkme3GrcI3+7uwXHqtHbip+t24J7E=", @@ -530,22 +484,6 @@ "type": "github" } }, - "nvim-presence": { - "flake": false, - "locked": { - "lastModified": 1674984077, - "narHash": "sha256-ZpsunLsn//zYgUtmAm5FqKVueVd/Pa1r55ZDqxCimBk=", - "owner": "andweeb", - "repo": "presence.nvim", - "rev": "87c857a56b7703f976d3a5ef15967d80508df6e6", - "type": "github" - }, - "original": { - "owner": "andweeb", - "repo": "presence.nvim", - "type": "github" - } - }, "openmw-git": { "flake": false, "locked": { @@ -573,12 +511,10 @@ "helix": "helix", "home-manager": "home-manager_2", "hyprland": "hyprland", - "hyprland-contrib": "hyprland-contrib", "mygui-git": "mygui-git", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs", "nur": "nur", - "nvim-presence": "nvim-presence", "openmw-git": "openmw-git", "wezterm": "wezterm" } diff --git a/flake.nix b/flake.nix index f4dba2a..c5db52e 100755 --- a/flake.nix +++ b/flake.nix @@ -2,51 +2,80 @@ description = "My personal dotfiles"; inputs = { - nixpkgs.url = "nixpkgs/nixpkgs-unstable"; + nixpkgs = { + url = "nixpkgs/nixpkgs-unstable"; + }; - home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - chaotic-nyx.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + nur = { + url = "github:nix-community/NUR"; + }; - nix-index-database.url = "github:Mic92/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + chaotic-nyx = { + url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - hyprland.url = "github:hyprwm/hyprland"; - hyprland.inputs.nixpkgs.follows = "nixpkgs"; - hyprland-contrib.url = "github:hyprwm/contrib"; + nix-index-database = { + url = "github:Mic92/nix-index-database"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - eww-systray.url = "github:ralismark/eww/tray-3"; - eww-systray.inputs.nixpkgs.follows = "nixpkgs"; + hyprland = { + url = "github:hyprwm/hyprland"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - nur.url = "github:nix-community/NUR"; + eww-systray = { + url = "github:ralismark/eww/tray-3"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - helix.url = "github:helix-editor/helix"; - helix.inputs.nixpkgs.follows = "nixpkgs"; + helix = { + url = "github:helix-editor/helix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - wezterm.url = "github:happenslol/wezterm/add-nix-flake?dir=nix"; - wezterm.inputs.nixpkgs.follows = "nixpkgs"; + wezterm = { + url = "github:happenslol/wezterm/add-nix-flake?dir=nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - gruvbox-kvantum.url = "github:thefallnn/Gruvbox-Kvantum"; - gruvbox-kvantum.flake = false; + #--- non-flakes - fish-plugin-bobthefish.url = "github:oh-my-fish/theme-bobthefish"; - fish-plugin-bobthefish.flake = false; + fish-plugin-bobthefish = { + url = "github:oh-my-fish/theme-bobthefish"; + flake = false; + }; - fish-plugin-gruvbox-theme.url = "github:Jomik/fish-gruvbox"; - fish-plugin-gruvbox-theme.flake = false; + fish-plugin-gruvbox-theme = { + url = "github:Jomik/fish-gruvbox"; + flake = false; + }; - gruvbox-plus-icon-pack.url = "github:SylEleuth/gruvbox-plus-icon-pack"; - gruvbox-plus-icon-pack.flake = false; + gruvbox-kvantum = { + url = "github:thefallnn/Gruvbox-Kvantum"; + flake = false; + }; - openmw-git.url = "gitlab:OpenMW/openmw"; - openmw-git.flake = false; + gruvbox-plus-icon-pack = { + url = "github:SylEleuth/gruvbox-plus-icon-pack"; + flake = false; + }; - mygui-git.url = "github:mygui/MyGUI/dae9ac4be5a09e672bec509b1a8552b107c40214"; - mygui-git.flake = false; + mygui-git = { + url = "github:mygui/MyGUI/dae9ac4be5a09e672bec509b1a8552b107c40214"; + flake = false; + }; - nvim-presence.url = "github:andweeb/presence.nvim"; - nvim-presence.flake = false; + openmw-git = { + url = "gitlab:OpenMW/openmw"; + flake = false; + }; }; outputs = { diff --git a/overlay.nix b/overlay.nix index 76f137c..f78a75b 100755 --- a/overlay.nix +++ b/overlay.nix @@ -3,7 +3,6 @@ gruvbox-plus-icon-pack = prev.callPackage ./pkgs/gruvbox-plus-icon-pack {inherit inputs;}; eww-hyprland-activewindow = prev.callPackage ./pkgs/eww-hyprland-activewindow {}; eww-hyprland-workspaces = prev.callPackage ./pkgs/eww-hyprland-workspaces {}; - bitwarden-rofi = prev.callPackage ./pkgs/bitwarden-rofi {rofi = prev.rofi-wayland;}; ncmpcpp = prev.ncmpcpp.override { visualizerSupport = true; @@ -31,10 +30,6 @@ patches = []; }); - kitty = prev.kitty.overrideAttrs (old: { - patches = [./pkgs/kitty/0011-fix-test_fish_integration.patch]; - }); - steam = prev.steam.override { extraPkgs = prev: [ prev.libkrb5 diff --git a/pkgs/bitwarden-rofi/default.nix b/pkgs/bitwarden-rofi/default.nix deleted file mode 100644 index 21c8e64..0000000 --- a/pkgs/bitwarden-rofi/default.nix +++ /dev/null @@ -1,62 +0,0 @@ -# Shamelessly stolen from https://raw.githubusercontent.com/nix-community/nur-combined/master/repos/reedrw/pkgs/bitwarden-rofi/default.nix -{ - stdenv, - lib, - fetchFromGitHub, - makeWrapper, - unixtools, - wl-clipboard, - ydotool, - bitwarden-cli, - rofi, - jq, - keyutils, - libnotify, -}: let - bins = [ - bitwarden-cli - jq - keyutils - libnotify - rofi - unixtools.getopt - wl-clipboard - ydotool - ]; -in - stdenv.mkDerivation rec { - pname = "bitwarden-rofi"; - version = "0.5"; - - src = fetchFromGitHub { - owner = "mattydebie"; - repo = "bitwarden-rofi"; - rev = "${version}"; - sha256 = "sha256-jXPwbvUTlMdwd/SYesfMuu7sQgR2WMiKOK88tGcQrcA="; - }; - - buildInputs = [ - makeWrapper - ]; - - installPhase = '' - mkdir -p "$out/bin" - install -Dm755 "bwmenu" "$out/bin/bwmenu" - install -Dm755 "lib-bwmenu" "$out/bin/lib-bwmenu" # TODO don't put this in bin - - install -Dm755 -d "$out/usr/share/doc/bitwarden-rofi" - install -Dm755 -d "$out/usr/share/doc/bitwarden-rofi/img" - - install -Dm644 "README.md" "$out/usr/share/doc/bitwarden-rofi/README.md" - install -Dm644 img/* "$out/usr/share/doc/bitwarden-rofi/img/" - - wrapProgram "$out/bin/bwmenu" --prefix PATH : ${lib.makeBinPath bins} - ''; - - meta = with lib; { - description = "Wrapper for Bitwarden and Rofi"; - homepage = "https://github.com/mattydebie/bitwarden-rofi"; - license = licenses.gpl3; - platforms = platforms.linux; - }; - } diff --git a/pkgs/kitty/0011-fix-test_fish_integration.patch b/pkgs/kitty/0011-fix-test_fish_integration.patch deleted file mode 100644 index eb4648c..0000000 --- a/pkgs/kitty/0011-fix-test_fish_integration.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 4c56e768401f920bb3ce129e1883810b7e6323f7 Mon Sep 17 00:00:00 2001 -From: Kovid Goyal -Date: Sat, 11 Nov 2023 20:00:46 +0530 -Subject: [PATCH] Fix #6812 - ---- - .../fish/vendor_conf.d/kitty-shell-integration.fish | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish b/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish -index 77fc837c49..5f09988fb0 100644 ---- a/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish -+++ b/shell-integration/fish/vendor_conf.d/kitty-shell-integration.fish -@@ -111,7 +111,7 @@ function __ksi_schedule --on-event fish_prompt -d "Setup kitty integration after - # Note that neither alias nor function is recursive in fish so if the user defines an alias/function - # for sudo it will be clobbered by us, so only install this if sudo is not already function - if not contains "no-sudo" $_ksi -- and test -n "$TERMINFO" -a "file" = (type -t sudo) -+ and test -n "$TERMINFO" -a "file" = (type -t sudo 2> /dev/null || echo "x") - and not test -r "/usr/share/terminfo/x/xterm-kitty" -o -r "/usr/share/terminfo/78/xterm-kitty" - # Ensure terminfo is available in sudo - function sudo diff --git a/user/configs/beets/default.nix b/user/configs/beets/default.nix index 8a23a37..0c1e168 100755 --- a/user/configs/beets/default.nix +++ b/user/configs/beets/default.nix @@ -18,13 +18,13 @@ paths = { "default" = "$albumartist/$year - $album%aunique{}/$track $title"; - "singleton" = "Singles/$artist/$year - $title"; + "singleton" = "$artist/$year - $title"; "comp" = "Compilations/$year - $album%aunique{}/$track $title"; }; replaygain = { "backend" = "gstreamer"; - "threads" = 16; + "threads" = 8; }; }; }; diff --git a/user/configs/helix/default.nix b/user/configs/helix/default.nix index 5d6eaeb..381afdf 100644 --- a/user/configs/helix/default.nix +++ b/user/configs/helix/default.nix @@ -13,13 +13,13 @@ custom-gruvbox = { inherits = "gruvbox"; "ui.background" = {bg = "none";}; - "ui.statusline" = {bg = "none";}; }; }; settings = { theme = "custom-gruvbox"; editor = { + cursorline = true; line-number = "relative"; color-modes = true; bufferline = "multiple"; @@ -27,8 +27,16 @@ indent-guides.render = true; + cursor-shape = { + "insert" = "bar"; + "normal" = "block"; + "select" = "underline"; + }; + statusline = { - left = ["mode" "spinner"]; + separator = "|"; + + left = ["mode" "separator" "spinner"]; center = ["file-name"]; right = ["selections" "file-type" "position"]; @@ -39,6 +47,7 @@ lsp = { display-messages = true; + display-inlay-hints = true; }; }; @@ -52,13 +61,27 @@ language = [ { name = "nix"; + auto-format = true; + formatter = ["alejandra"]; language-servers = ["nixd"]; } ]; language-server.nixd = { - command = "${pkgs.nixd}/bin/nixd"; + command = "nixd"; + }; + + formatter.alejandra = { + command = "alejandra"; + args = ["-qq"]; }; }; + + extraPackages = with pkgs; [ + alejandra + nixd + lua-language-server + vscode-langservers-extracted + ]; }; } diff --git a/user/configs/lf/default.nix b/user/configs/lf/default.nix index 8810030..f66a1a8 100755 --- a/user/configs/lf/default.nix +++ b/user/configs/lf/default.nix @@ -7,7 +7,8 @@ y=$5 if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then - ${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty + # ''${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty + ${pkgs.chafa}/bin/chafa -f kitty "$file" exit 1 fi diff --git a/user/configs/wayland/eww/config/eww.scss b/user/configs/wayland/eww/config/eww.scss index ae8702c..5a67345 100644 --- a/user/configs/wayland/eww/config/eww.scss +++ b/user/configs/wayland/eww/config/eww.scss @@ -1,108 +1,108 @@ -$bg: rgb(40,40,40); -$fg: rgb(235,219,178); +$bg: rgb(40, 40, 40); +$fg: rgb(235, 219, 178); $widgetbg: rgb(80, 73, 69); $border: rgb(102, 92, 84); -$wsfg: rgb(235,219,178); -$wsbg: rgb(60,56,54); -$activewsbg: rgb(102,92,84); +$wsfg: rgb(235, 219, 178); +$wsbg: rgb(60, 56, 54); +$activewsbg: rgb(102, 92, 84); $border_radius: 6px; * { - all: unset; + all: unset; + min-width: 0; } .panel { - background: rgba($bg, 0.8); - color: $fg; - font-size: 14px; + background: rgba($bg, 0.8); + color: $fg; + font-size: 14px; - border-bottom: 4px solid $border; + border-bottom: 4px solid $border; - @mixin widget { - font-size: 12px; + @mixin widget { + font-size: 12px; - background-color: $widgetbg; + background-color: $widgetbg; - margin-top: 0.25em; - margin-bottom: 0.25em; - margin-left: 0.8em; - margin-right: 0.8em; + margin-top: 0.25em; + margin-bottom: 0.25em; + margin-left: 0.8em; + margin-right: 0.8em; - padding-left: 0.8em; - padding-right: 0.8em; + padding-left: 0.8em; + padding-right: 0.8em; - border-radius: $border-radius; + border-radius: $border-radius; + } + + .widget-workspace { + @include widget; + padding: 0; + + .workspace { + font-size: 14px; } - .widget-workspace { - @include widget; + .workspace-button { + padding: 0 1em 0 1em; + + :first-child { + border-radius: $border-radius 0 0 $border-radius; + } + + :last-child { + border-radius: 0 $border-radius $border-radius 0; + } + } + + .workspace-active { + background: $fg; + color: $bg; + border-radius: $border-radius; + } + } + + .widget-activewindow { + font-size: 12px; + margin: 0 0 0 1em; + } + + .widget-systray { + @include widget; + + menu, + menu menu { + font-size: 14px; + border-radius: $border-radius; + + background: $widgetbg; + color: $fg; + border: 1px solid $border; + + padding: 0.3em; + + :hover { + background: $fg; + color: $widgetbg; + } + + >separator { + border-top: 1px solid; + margin: 0.5em 0 0.5em 0; padding: 0; - - .workspace { - font-size: 14px; - } - - .workspace-button { - padding: 0 1em 0 1em; - - :first-child { - border-radius: $border-radius 0 0 $border-radius; - } - - :last-child { - border-radius: 0 $border-radius $border-radius 0; - } - } - - .workspace-active { - background: $fg; - color: $bg; - border-radius: $border-radius; - } + } } + } - .widget-activewindow { - font-size: 12px; - margin: 0 0 0 1em; - } - - .widget-systray { - @include widget; - - menu, menu menu { - font-size: 14px; - border-radius: $border-radius; - - background: $widgetbg; - color: $fg; - border: 1px solid $border; - - padding: 0.3em; - - :hover { - background: $fg; - color: $widgetbg; - } - - >separator { - border-top: 1px solid; - margin: 0.5em 0 0.5em 0; - padding: 0; - } - } - } - - .widget-music { - @include widget; - } - - .widget-time { - @include widget; - font-size: 14px; - } - -} + .widget-music { + @include widget; + } + .widget-time { + @include widget; + font-size: 14px; + } +} \ No newline at end of file diff --git a/user/configs/wayland/hyprland/default.nix b/user/configs/wayland/hyprland/default.nix index c165cf5..4280068 100755 --- a/user/configs/wayland/hyprland/default.nix +++ b/user/configs/wayland/hyprland/default.nix @@ -30,7 +30,6 @@ ''; home.packages = [ - inputs.hyprland-contrib.packages.${pkgs.system}.hyprprop pkgs.hyprpicker pkgs.swww pkgs.wl-clipboard diff --git a/user/configs/wezterm/default.nix b/user/configs/wezterm/default.nix index 8877622..179b017 100755 --- a/user/configs/wezterm/default.nix +++ b/user/configs/wezterm/default.nix @@ -23,10 +23,11 @@ font = wezterm.font "JetBrainsMono Nerd Font", font_size = 10, - line_height = 1.1, - window_background_opacity = 0.9, color_scheme = 'Gruvbox Dark (Gogh)', hide_tab_bar_if_only_one_tab = true, + line_height = 1.1, + window_background_opacity = 0.9, + window_close_confirmation = "NeverPrompt", window_padding = { left = "20", diff --git a/user/home.nix b/user/home.nix index e3e4e1d..6cb4d14 100755 --- a/user/home.nix +++ b/user/home.nix @@ -26,8 +26,6 @@ home.username = "manuel"; home.homeDirectory = "/home/manuel"; home.packages = with pkgs; [ - inputs.chaotic-nyx.packages.${pkgs.system}.gamescope_git - bitwarden-rofi appimage-run armcord bc @@ -37,7 +35,7 @@ calcurse electron filezilla - floorp + gamescope gimp gnome.gnome-boxes gnome.gnome-settings-daemon @@ -76,6 +74,7 @@ vulkan-tools wqy_zenhei #fix for missing non-ascii fonts in TF2 xdg-utils + ]; home.sessionVariables = {