diff --git a/home-manager/cobray.nix b/home-manager/cobray.nix index d8f5207..8362032 100644 --- a/home-manager/cobray.nix +++ b/home-manager/cobray.nix @@ -2,11 +2,9 @@ { imports = [ - ./modules/cava.nix ./modules/dunst.nix ./modules/fish.nix ./modules/ghostty.nix - ./modules/i3.nix ./modules/lazygit.nix ./modules/nvim.nix ./modules/picom.nix @@ -27,10 +25,10 @@ gnused gnugrep findutils + yazi htop btop nvtopPackages.full arandr - nitrogen ]; } diff --git a/home-manager/modules/cava.nix b/home-manager/modules/cava.nix deleted file mode 100644 index 909564f..0000000 --- a/home-manager/modules/cava.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - home.packages = with pkgs; [ - cava - ]; -} diff --git a/home-manager/modules/i3.nix b/home-manager/modules/i3.nix deleted file mode 100644 index 3587262..0000000 --- a/home-manager/modules/i3.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - home.packages = with pkgs; [ - dmenu - i3status - i3lock - i3blocks - feh - yazi - udiskie - ]; -} diff --git a/home-manager/modules/nvim.nix b/home-manager/modules/nvim.nix index 0732de2..f32f631 100644 --- a/home-manager/modules/nvim.nix +++ b/home-manager/modules/nvim.nix @@ -1,18 +1,38 @@ { config, pkgs, lib, ... }: + { home.packages = with pkgs; [ neovim ripgrep fd + fzf nodejs gcc + git + lua + luajit + luaPackages.luarocks + nil + lua-language-server + curl + unzip + ])) + ]; + + home.sessionVariables = { + LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;;"; + LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;"; + }; + + home.sessionPath = [ + "$HOME/.local/share/nvim/mason/bin" ]; xdg.configFile."nvim" = { source = builtins.fetchGit { - url = "https://github.com/alsaiduq-lab/dotfiles.git"; - ref = "dev"; - rev = "99e2cab828459373bc7524690668fdd209b3f517"; + url = "https://github.com/alsaiduq-lab/nvim-dotfiles.git"; + ref = "master"; + rev = "71155b4a4b63d9974f1bc3b66303d6f7e5e06871"; }; recursive = true; }; diff --git a/hosts/local-packages.nix b/hosts/local-packages.nix index 7251c41..7bed6ec 100644 --- a/hosts/local-packages.nix +++ b/hosts/local-packages.nix @@ -81,7 +81,6 @@ in cloudflared # Rust ecosystem rustup - rust-analyzer cargo-edit cargo-watch cargo-outdated diff --git a/modules/env.nix b/modules/env.nix index 262e214..3abfc1a 100644 --- a/modules/env.nix +++ b/modules/env.nix @@ -11,7 +11,7 @@ EDITOR = "nvim"; VISUAL = "nvim"; TERM = "ghostty"; - GTK_THEME = "Adwaita:dark"; + GTK_THEME = lib.mkDefault "Adwaita:dark"; CC = "${pkgs.gcc}/bin/gcc"; PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [ pkgs.openssl.dev diff --git a/modules/fonts.nix b/modules/fonts.nix index 5740871..792f2d5 100644 --- a/modules/fonts.nix +++ b/modules/fonts.nix @@ -1,5 +1,20 @@ { config, pkgs, lib, ... }: +let + clear-sans = pkgs.stdenv.mkDerivation { + name = "clear-sans"; + src = pkgs.fetchurl { + url = "https://raw.githubusercontent.com/resir014/Clear-Sans-Webfont/97eec13/fonts/TTF/ClearSans-Regular.ttf"; + sha256 = "0vzhy3l056gj5vkcs1kglr4mr0546fq093v78i4ri8xni7w1m0dv"; + }; + dontUnpack = true; + installPhase = '' + mkdir -p $out/share/fonts/truetype + cp $src $out/share/fonts/truetype/ClearSans-Regular.ttf + ''; + }; +in + { fonts = { packages = with pkgs; [ @@ -10,7 +25,7 @@ (nerdfonts.override { fonts = [ "0xProto" "FiraCode" "JetBrainsMono" "Hack" "Noto" "NerdFontsSymbolsOnly" ]; }) ipafont kochi-substitute - # Custom BinaryClock font + clear-sans (stdenv.mkDerivation { name = "binary-clock-font"; src = fetchurl { @@ -27,8 +42,8 @@ fontconfig = { enable = true; defaultFonts = { - monospace = [ "JetBrains Mono" "Noto Sans Mono CJK JP" ]; - sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ]; + monospace = [ "0xProto Nerd Font" "Noto Sans Mono CJK JP" ]; + sansSerif = [ "Clear Sans" "Noto Sans CJK JP" ]; serif = [ "Noto Serif" "Noto Serif CJK JP" ]; emoji = [ "Noto Color Emoji" ]; }; diff --git a/modules/i3-xfce.nix b/modules/i3-xfce.nix index a6562dd..2de5807 100644 --- a/modules/i3-xfce.nix +++ b/modules/i3-xfce.nix @@ -9,6 +9,7 @@ in layout = "us"; variant = ""; }; + services.xserver.windowManager.i3 = { enable = true; package = pkgs.i3-gaps; @@ -27,27 +28,50 @@ in extraSessionCommands = '' # Set random wallpaper ${pkgs.feh}/bin/feh --randomize --bg-fill ~/wallpapers/* || ${pkgs.feh}/bin/feh --bg-fill ${pkgs.nixos-artwork.wallpapers.nineish-dark-gray}/share/backgrounds/nixos/nineish-dark-gray.png & + export GTK_THEME="Tokyonight-Dark" + export XCURSOR_THEME="Vivid-Dark-Icons" + export XCURSOR_SIZE="24" + export QT_STYLE_OVERRIDE="adwaita-dark" + ${pkgs.gtk3}/bin/gsettings set org.gnome.desktop.interface gtk-theme "Tokyonight-Dark" + ${pkgs.gtk3}/bin/gsettings set org.gnome.desktop.interface icon-theme "Vivid-Dark-Icons" ''; }; + services.xserver.desktopManager.xfce = { enable = true; noDesktop = true; enableXfwm = false; }; + services.xserver.displayManager.lightdm = { enable = true; background = "#000000"; greeters.gtk = { enable = true; - theme.name = "Tokyonight-Dark"; - iconTheme.name = "Vivid-Dark-Icons"; + theme = { + package = customPkgs.tokyo-night-gtk; + name = "Tokyonight-Dark"; + }; + iconTheme = { + package = customPkgs.vivid-icons; + name = "Vivid-Dark-Icons"; + }; + extraConfig = '' + [greeter] + theme-name=Tokyonight-Dark + icon-theme-name=Vivid-Dark-Icons + font-name=Clear Sans 10 + cursor-theme-name=Vivid-Dark-Icons + ''; }; }; + services.displayManager.defaultSession = "xfce+i3"; services.displayManager.autoLogin = { enable = true; user = "cobray"; }; + environment.etc."xdg/autostart/i3-setup.desktop" = { text = '' [Desktop Entry] @@ -59,29 +83,50 @@ in ''; mode = "0644"; }; + qt.enable = true; qt.platformTheme = "qt5ct"; qt.style = "adwaita-dark"; + + environment.etc."gtk-2.0/gtkrc".text = '' + gtk-theme-name="Tokyonight-Dark" + gtk-icon-theme-name="Vivid-Dark-Icons" + gtk-font-name="Clear Sans 10" + ''; + environment.etc."gtk-3.0/settings.ini".text = '' [Settings] gtk-application-prefer-dark-theme=1 gtk-theme-name=Tokyonight-Dark gtk-icon-theme-name=Vivid-Dark-Icons - gtk-font-name=Sans 10 + gtk-font-name=Clear Sans 10 ''; + environment.etc."gtk-4.0/settings.ini".text = '' [Settings] gtk-application-prefer-dark-theme=1 gtk-theme-name=Tokyonight-Dark gtk-icon-theme-name=Vivid-Dark-Icons - gtk-font-name=Sans 10 + gtk-font-name=Clear Sans 10 ''; + + environment.variables = { + GTK_THEME = "Tokyonight-Dark"; + XCURSOR_THEME = "Vivid-Dark-Icons"; + XCURSOR_SIZE = "24"; + QT_STYLE_OVERRIDE = "adwaita-dark"; + GTK2_RC_FILES = "$HOME/.gtkrc-2.0"; + }; + environment.systemPackages = with pkgs; [ arandr nitrogen xclip lxappearance libsForQt5.qt5ct + gnome-themes-extra + gsettings-desktop-schemas + adwaita-qt arc-theme arc-icon-theme papirus-icon-theme