From bf176d91ac464ffad5df64a0802bf7507d48e11d Mon Sep 17 00:00:00 2001 From: Varris Date: Tue, 20 Dec 2022 10:46:12 +0100 Subject: [PATCH] update & fixed xdg-open not working. Fucking hell. --- flake.lock | 24 ++++- flake.nix | 10 +- system/configuration.nix | 18 +++- user/configs/dircolors.nix | 156 +++++++++++++++++++++++++++++++ user/configs/kakoune/kakoune.nix | 12 ++- user/configs/mpd/mpd.nix | 2 +- user/configs/nnn/nnn.nix | 4 +- user/configs/wayland/mako.nix | 7 +- user/configs/wayland/sway.nix | 2 +- user/configs/xdg-mime.nix | 25 +++++ user/home.nix | 60 ++++++------ 11 files changed, 277 insertions(+), 43 deletions(-) create mode 100644 user/configs/xdg-mime.nix diff --git a/flake.lock b/flake.lock index 82145eb..60bc6f0 100755 --- a/flake.lock +++ b/flake.lock @@ -89,6 +89,22 @@ "type": "github" } }, + "kakoune-base16-themes": { + "flake": false, + "locked": { + "lastModified": 1671326254, + "narHash": "sha256-2sE2HKVH/F0dquGSmWmJuCFnFxjrCqm8CQbse3rVO5w=", + "owner": "tinted-theming", + "repo": "base16-kakoune", + "rev": "5b812fdb79cc9f2507332ae840cefe0a61304ac4", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-kakoune", + "type": "github" + } + }, "kakoune-smarttab": { "flake": false, "locked": { @@ -125,17 +141,16 @@ "flake": false, "locked": { "host": "gitlab.freedesktop.org", - "lastModified": 1669843731, - "narHash": "sha256-CkMJsb1lFR3rQWB2z7sqD8rJ5lmw2DK5ohZ5qeL1JzA=", + "lastModified": 1671314051, + "narHash": "sha256-+LiyNh2lCj2OzWuHA3nXCdjCLv5uOpoHneDgf5zw+Oo=", "owner": "mesa", "repo": "mesa", - "rev": "32552010d1e0243948aebd6b6642ba9aeb979004", + "rev": "18f4dc6b75b1e3697d40f8c6a39d41179ccd2238", "type": "gitlab" }, "original": { "host": "gitlab.freedesktop.org", "owner": "mesa", - "ref": "mesa-22.3.0", "repo": "mesa", "type": "gitlab" } @@ -211,6 +226,7 @@ "gamescope-git": "gamescope-git", "grub2-themes": "grub2-themes", "home-manager": "home-manager", + "kakoune-base16-themes": "kakoune-base16-themes", "kakoune-smarttab": "kakoune-smarttab", "kakoune-sort-selections": "kakoune-sort-selections", "mesa-git": "mesa-git", diff --git a/flake.nix b/flake.nix index f328a12..5589695 100755 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,11 @@ # Fish Plugins End # Kakoune Plugins + kakoune-base16-themes = { + url = "github:tinted-theming/base16-kakoune"; + flake = false; + }; + kakoune-smarttab = { url = "github:andreyorst/smarttab.kak"; flake = false; @@ -63,7 +68,7 @@ }; mesa-git = { - url = "gitlab:mesa/mesa/mesa-22.3.0?host=gitlab.freedesktop.org"; + url = "gitlab:mesa/mesa?host=gitlab.freedesktop.org"; flake = false; }; @@ -150,6 +155,7 @@ pkgs.libkrb5 pkgs.mangohud pkgs.mpg123 + pkgs.steamtinkerlaunch ]; extraLibraries = pkgs: [ @@ -164,7 +170,7 @@ # }); mesa-git = (prev.mesa.overrideAttrs (old: { - version = "22.3.0"; + version = "git"; src = inputs.mesa-git; buildInputs = old.buildInputs ++ [ pkgs.glslang pkgs.vulkan-loader ]; patches = [ diff --git a/system/configuration.nix b/system/configuration.nix index 8bea6b1..0254465 100755 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -1,7 +1,8 @@ # 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, ... }: { +{ config, pkgs, lib, inputs, ... }: +{ imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -42,7 +43,7 @@ networking = { hostName = "terra"; # Define your hostname. - networkmanager = { enable = true; }; + networkmanager.enable = true; firewall.checkReversePath = false; firewall.enable = false; @@ -223,12 +224,22 @@ services.transmission = { enable = true; user = "manuel"; + settings = { + download-dir = "/mnt/hdd/Downloads/Torrents"; + incomplete-dir = "/mnt/hdd/Downloads/Torrents/.incomplete"; + }; openFirewall = true; }; services.fwupd.enable = true; - services.getty.autologinUser = "manuel"; + services.getty.autologinUser = " manuel "; + + systemd.user.extraConfig = '' + # needed for xdg-open to find the default browser + DefaultEnvironment=" + PATH=/etc/profiles/per-user/manuel/bin:/run/current/system/sw/bin" + ''; nix = { extraOptions = '' @@ -246,3 +257,4 @@ system.stateVersion = "22.05"; # Did you read the comment? } + diff --git a/user/configs/dircolors.nix b/user/configs/dircolors.nix index 488b79a..b8199b7 100755 --- a/user/configs/dircolors.nix +++ b/user/configs/dircolors.nix @@ -2,5 +2,161 @@ programs.dircolors = { enable = true; enableFishIntegration = true; + + settings = { + NORMAL = "00;38;5;250"; + FIlE = "00;38;5;223"; + RESET = "00;38;5;172"; + DIR = "00;38;5;166"; + LINK = "target"; + + MULTIHARDLINK = "04"; + FIFO = "40;33"; + SOCK = "38;5;211"; + DOOR = "38;5;211"; + BLK = "40;33;01"; + CHR = "40;33;01"; + ORPHAN = "40;31;01"; + SETUID = "37;41"; + SETGID = "30;43"; + CAPABILITY = "30;41"; + STICKY_OTHER_WRITABLE = "01;36;44"; + OTHER_WRITABLE = "38;5;208;48;5;243"; + STICKY = "38;5;208;48;5;243"; + EXEC = "01;30;32"; + + ".bak" = "38;5;246"; + ".cache" = "38;5;246"; + ".dist" = "38;5;246"; + ".lock" = "38;5;246"; + ".log" = "38;5;246"; + ".old" = "38;5;246"; + ".orig" = "38;5;246"; + ".temp" = "38;5;246"; + ".tmp" = "38;5;246"; + + ".7z" = "01;31"; + ".Z" = "01;31"; + ".ace" = "01;31"; + ".arj" = "01;31"; + ".bz" = "01;31"; + ".bz2" = "01;31"; + ".cpio" = "1;31"; + ".deb" = "01;31"; + ".dz" = "01;31"; + ".ear" = "01;31"; + ".gz" = "01;31"; + ".jar" = "01;31"; + ".lz" = "01;31"; + ".lzh" = "01;31"; + ".lzma" = "1;31"; + ".rar" = "01;31"; + ".rpm" = "01;31"; + ".rz" = "01;31"; + ".sar" = "01;31"; + ".tar" = "01;31"; + ".taz" = "01;31"; + ".tbz" = "01;31"; + ".tbz2" = "1;31"; + ".tgz" = "01;31"; + ".tlz" = "01;31"; + ".txz" = "01;31"; + ".tz" = "01;31"; + ".war" = "01;31"; + ".xz" = "01;31"; + ".z" = "01;31"; + ".zip" = "01;31"; + ".zoo" = "01;31"; + + + ".anx" = "01;35"; + ".asf" = "01;35"; + ".avi" = "01;35"; + ".axv" = "01;35"; + ".bmp" = "01;35"; + ".cgm" = "01;35"; + ".dl" = "01;35"; + ".emf" = "01;35"; + ".flc" = "01;35"; + ".fli" = "01;35"; + ".flv" = "01;35"; + ".gif" = "01;35"; + ".gl" = "01;35"; + ".jpeg" = "01;35"; + ".jpg" = "01;35"; + ".m2v" = "01;35"; + ".m4v" = "01;35"; + ".mkv" = "01;35"; + ".mng" = "01;35"; + ".mov" = "01;35"; + ".mp4" = "01;35"; + ".mp4v" = "01;35"; + ".mpeg" = "01;35"; + ".mpg" = "01;35"; + ".nuv" = "01;35"; + ".ogm" = "01;35"; + ".ogv" = "01;35"; + ".ogx" = "01;35"; + ".pbm" = "01;35"; + ".pcx" = "01;35"; + ".pgm" = "01;35"; + ".png" = "01;35"; + ".ppm" = "01;35"; + ".qt" = "01;35"; + ".rm" = "01;35"; + ".rmvb" = "01;35"; + ".svg" = "01;35"; + ".svgz" = "01;35"; + ".tga" = "01;35"; + ".tif" = "01;35"; + ".tiff" = "01;35"; + ".vob" = "01;35"; + ".webm" = "01;35"; + ".wmv" = "01;35"; + ".xbm" = "01;35"; + ".xcf" = "01;35"; + ".xpm" = "01;35"; + ".xwd" = "01;35"; + ".yuv" = "01;35"; + + ".aac" = "01;33"; + ".au" = "01;33"; + ".flac" = "01;33"; + ".mid" = "01;33"; + ".midi" = "01;33"; + ".mka" = "01;33"; + ".mp3" = "01;33"; + ".mpc" = "01;33"; + ".ogg" = "01;33"; + ".ra" = "01;33"; + ".wav" = "01;33"; + ".axa" = "01;33"; + ".oga" = "01;33"; + ".spx" = "01;33"; + ".xspf" = "01;33"; + + ".doc" = "38;5;109"; + ".docx" = "38;5;109"; + ".html" = "38;5;109"; + ".js" = "38;5;109"; + ".json" = "38;5;109"; + ".md" = "38;5;109"; + ".neon" = "38;5;109"; + ".odp" = "38;5;109"; + ".ods" = "38;5;109"; + ".odt" = "38;5;109"; + ".pdf" = "38;5;109"; + ".php" = "38;5;109"; + ".phtml" = "38;5;109"; + ".ppt" = "38;5;109"; + ".pptx" = "38;5;109"; + ".tex" = "38;5;109"; + ".txt" = "38;5;109"; + ".xls" = "38;5;109"; + ".xlsx" = "38;5;109"; + ".xml" = "38;5;109"; + + }; + }; } diff --git a/user/configs/kakoune/kakoune.nix b/user/configs/kakoune/kakoune.nix index 43e9c14..5441fb4 100755 --- a/user/configs/kakoune/kakoune.nix +++ b/user/configs/kakoune/kakoune.nix @@ -9,11 +9,21 @@ let name = "sort-selections-kak"; src = inputs.kakoune-sort-selections; }; + + base16-colorschemes = pkgs.kakouneUtils.buildKakounePlugin { + name = "base16-colorschemes"; + src = inputs.kakoune-base16-themes; + postFixup = '' + mkdir -p $out/share/kak/colors + mv $out/share/kak/autoload/plugins/base16-colorschemes/colors $out/share/kak/colors + ''; + }; in { programs.kakoune = { enable = true; plugins = with pkgs.kakounePlugins; [ + base16-colorschemes kak-lsp kakboard kakoune-extra-filetypes @@ -22,7 +32,7 @@ in sort-selections ]; config = { - colorScheme = "gruvbox-dark"; + colorScheme = "base16-gruvbox-dark-medium"; tabStop = 4; indentWidth = 4; showMatching = true; diff --git a/user/configs/mpd/mpd.nix b/user/configs/mpd/mpd.nix index 38b9cdd..8a2c291 100755 --- a/user/configs/mpd/mpd.nix +++ b/user/configs/mpd/mpd.nix @@ -7,7 +7,7 @@ restore_paused "yes" audio_output { - type "pulse" + type "pipewire" name "MPD PipeWire" replay_gain_handler "none" } diff --git a/user/configs/nnn/nnn.nix b/user/configs/nnn/nnn.nix index 116de38..188ce4f 100755 --- a/user/configs/nnn/nnn.nix +++ b/user/configs/nnn/nnn.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { programs.nnn = { enable = true; - package = pkgs.nnn.override { withNerdIcons = true; }; + package = pkgs.nnn.override { + withNerdIcons = true; + }; }; } diff --git a/user/configs/wayland/mako.nix b/user/configs/wayland/mako.nix index cb0004f..b92f93f 100755 --- a/user/configs/wayland/mako.nix +++ b/user/configs/wayland/mako.nix @@ -1,4 +1,7 @@ { config, pkgs, ... }: +let + colors = config.colorScheme.colors; +in { programs.mako = { enable = true; @@ -8,8 +11,8 @@ width = 320; height = 130; - backgroundColor = "#282828"; - borderColor = "#3C3836"; + backgroundColor = "#${colors.base00}"; + borderColor = "#${colors.base01}"; borderRadius = 10; borderSize = 2; diff --git a/user/configs/wayland/sway.nix b/user/configs/wayland/sway.nix index 87ef770..6c4e6d9 100755 --- a/user/configs/wayland/sway.nix +++ b/user/configs/wayland/sway.nix @@ -82,7 +82,7 @@ in "${modifier}+Shift+o" = "exec ${killprocess}/bin/killprocess.sh"; "${modifier}+q" = "exec ${pkgs.firefox}/bin/firefox"; - "${modifier}+r" = "exec ${pkgs.gnome.nautilus}/bin/nautilus"; + "${modifier}+r" = "exec ${pkgs.cinnamon.nemo}/bin/nemo"; "Ctrl+Space" = "exec ${pkgs.mako}/bin/makoctl dismiss"; "Ctrl+grave" = "exec ${pkgs.mako}/bin/makoctl restore"; diff --git a/user/configs/xdg-mime.nix b/user/configs/xdg-mime.nix new file mode 100644 index 0000000..b08c93c --- /dev/null +++ b/user/configs/xdg-mime.nix @@ -0,0 +1,25 @@ +{ config, pkgs, ... }: +{ + xdg.mimeApps = { + enable = true; + + + associations.added = { + "text/html" = "firefox.desktop"; + "x-scheme-handler/http" = "firefox.desktop"; + "x-scheme-handler/https" = "firefox.desktop"; + "x-scheme-handler/about" = "firefox.desktop"; + "x-scheme-handler/unknown" = "firefox.desktop"; + }; + + + defaultApplications = { + "text/html" = "firefox.desktop"; + "x-scheme-handler/http" = "firefox.desktop"; + "x-scheme-handler/https" = "firefox.desktop"; + "x-scheme-handler/about" = "firefox.desktop"; + "x-scheme-handler/unknown" = "firefox.desktop"; + }; + }; +} + diff --git a/user/home.nix b/user/home.nix index fe4441e..d743e6b 100755 --- a/user/home.nix +++ b/user/home.nix @@ -1,4 +1,5 @@ -{ config, pkgs, inputs, nix-colors, ... }: { +{ config, pkgs, inputs, nix-colors, ... }: +{ imports = [ nix-colors.homeManagerModule ./configs/beets/beets.nix @@ -10,46 +11,49 @@ ./configs/firefox/firefox.nix ./configs/nnn/nnn.nix ./configs/dircolors.nix + ./configs/xdg-mime.nix ]; # Home Manager needs a bit of information about you and the # paths it should manage. home.username = "manuel"; home.homeDirectory = "/home/manuel"; - home.packages = [ - pkgs.appimage-run - pkgs.discord-canary - pkgs.gamescope - pkgs.gnome.file-roller - pkgs.gnome.gvfs - pkgs.gnome.nautilus - pkgs.lutris - pkgs.mesa-demos - pkgs.nerdfonts - pkgs.noto-fonts-cjk-sans - pkgs.noto-fonts-cjk-serif - pkgs.obs-studio - pkgs.pass - pkgs.pavucontrol - pkgs.protontricks - pkgs.signal-desktop - pkgs.sshfs - pkgs.steam - pkgs.steam-run - pkgs.sxiv - pkgs.thunderbird - pkgs.twemoji-color-font - pkgs.wineWowPackages.stagingFull - pkgs.xivlauncher - pkgs.vulkan-validation-layers + home.packages = with pkgs; [ + appimage-run + discord-canary + gamescope + gnome.file-roller + gnome.gvfs + gnome.nautilus + lutris + mesa-demos + nerdfonts + noto-fonts-cjk-sans + noto-fonts-cjk-serif + obs-studio + pass + pavucontrol + protontricks + signal-desktop + sshfs + steam + steam-run + steamtinkerlaunch + sxiv + thunderbird + twemoji-color-font + wineWowPackages.stagingFull + xdg-utils + xivlauncher + vulkan-validation-layers ]; home.sessionVariables = { - BROWSER = "firefox"; EDITOR = "kak"; #GTK_USE_PORTAL = "1"; WINEDLLOVERRIDES = "winemenubuilder.exe=d"; WLR_RENDERER = "vulkan"; #Causes hangs + RADV_PERFTEST = "gpl"; }; colorScheme = nix-colors.colorSchemes.gruvbox-dark-medium;