193 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			193 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs, config, lib, ... }:
 | |
| let
 | |
|   dracula-gtk = pkgs.fetchFromGitHub {
 | |
|     owner = "dracula";
 | |
|     repo = "gtk";
 | |
|     rev = "502f212d83bc67e8f0499574546b99ec6c8e16f9";
 | |
|     sha256 = "1wx9nzq7cqyvpaq4j60bs8g7gh4jk8qg4016yi4c331l4iw1ymsa";
 | |
|   };
 | |
| in
 | |
| {
 | |
|   home.pointerCursor = {
 | |
|     x11.enable = true;
 | |
|     x11.defaultCursor = "left_ptr";
 | |
|     package = pkgs.capitaine-cursors;
 | |
|     name = "capitaine-cursors";
 | |
|   };
 | |
|   # Install themes
 | |
|   home.packages = with pkgs; [
 | |
|     ayu-theme-gtk
 | |
|     dracula-theme
 | |
|     capitaine-cursors
 | |
|     paper-icon-theme
 | |
|     papirus-icon-theme
 | |
|     libsForQt5.qtstyleplugin-kvantum
 | |
|     libsForQt5.qt5ct
 | |
|     gtk-engine-murrine
 | |
|     gtk_engines
 | |
|     maim
 | |
|     kitty
 | |
|     libreoffice
 | |
|     inotify-tools
 | |
|     offpunk
 | |
|     termpdfpy
 | |
|     # libsForQt5.kontact
 | |
|     thunderbird
 | |
|     libsecret  # For secret-tool to manage keyring
 | |
|   ];
 | |
| 
 | |
|   # GTK4 color scheme?
 | |
|   dconf.settings = {
 | |
|     "org/gnome/desktop/interface" = {
 | |
|       color-scheme = "prefer-dark";
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   # Move required config files around
 | |
|   xdg.enable = true; # This doesn't seem to do anything so we have below
 | |
|   xdg.configHome = "/home/anish/.config"; # TODO bad hardcode
 | |
|   xdg.configFile = {
 | |
|     "Kvantum/Dracula/Dracula.kvconfig".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.kvconfig";
 | |
|     "Kvantum/Dracula/Dracula.svg".source = "${dracula-gtk}/kde/kvantum/Dracula-purple-solid/Dracula-purple-solid.svg";
 | |
|     "Kvantum/kvantum.kvconfig".text = "[General]\ntheme=Dracula";
 | |
|   };
 | |
|   xdg.mimeApps.defaultApplications = {
 | |
| 
 | |
|   };
 | |
|   home.file = {
 | |
|     ".config/bspwm/rc.d/polybar".source = ./run.sh;
 | |
|     ".config/bspwm/bspwmrc".source = ./bspwmrc;
 | |
|     ".config/sxhkdrc".source = ./sxhkdrc;
 | |
|     ".config/rofi/theme" = {
 | |
|       source = ./rofi;
 | |
|       recursive = true;
 | |
|     };
 | |
|     ".config/polybar" = {
 | |
|       source = ./polybar;
 | |
|       recursive = true;
 | |
|     };
 | |
|     ".config/dunst/dunstrc".source = ./dunstrc;
 | |
|     ".config/kitty/kitty.conf".source = ./kitty.conf;
 | |
|     ".config/kitty/ayu.conf".source = ./ayu-kitty.conf;
 | |
|     ".config/zathura/zathurarc".source = ./zathurarc;
 | |
|     ".background-image".source = ./background.jpg;
 | |
|     #gtk4 theme
 | |
|     ".config/gtk-4.0/settings.ini".text = ''
 | |
|       [Settings]
 | |
|       gtk-application-prefer-dark-theme=true
 | |
|     '';
 | |
|     # gtk3 theme
 | |
|     ".config/gtk-3.0/settings.ini".text = ''
 | |
|       [Settings]
 | |
|       gtk-theme-name=Dracula
 | |
|       gtk-icon-theme-name=Paper
 | |
|       gtk-cursor-theme-name=Capitaine Cursors - White
 | |
|       gtk-fallback-icon-theme=gnome
 | |
|       gtk-application-prefer-dark-theme=1
 | |
|       gtk-xft-hinting=1
 | |
|       gtk-xft-hintstyle=hintfull
 | |
|       gtk-xft-rgba=none
 | |
|     '';
 | |
|     # GTK2 global theme (widget and icon theme)
 | |
|     ".config/gtk-2.0/gtkrc".text = ''
 | |
|       gtk-theme-name=Ayu-Mirage
 | |
|       gtk-icon-theme-name=Capitaine Cursors - White
 | |
|       gtk-font-name="Sans 10"
 | |
|     '';
 | |
|     ".local/bin/passmenu".source = ./bin/passmenu;
 | |
|     ".local/bin/paste".source = ./bin/paste;
 | |
|     ".local/bin/bluetoothmenu".source = ./bin/bluetoothmenu;
 | |
|     ".local/bin/wifimenu".source = ./bin/wifimenu;
 | |
|     ".local/bin/powermenu".source = ./bin/powermenu;
 | |
|     ".local/bin/screenshot".source = ./bin/screenshot;
 | |
|     ".local/bin/mpv-ify".source = ./bin/mpv-ify;
 | |
|     ".local/bin/bspswallow".source = ./bin/bspswallow;
 | |
|     ".config/bspwm/terminals".text = "Kitty";
 | |
|     # ".local/bin/hotplug-monitor.sh".source = ./bin/hotplug-monitor.sh;
 | |
|   };
 | |
| 
 | |
|   xdg.desktopEntries = {
 | |
|     ocr = {
 | |
|       name = "OCR image";
 | |
|       exec = "${pkgs.writeScript "ocr" ''
 | |
|         ${pkgs.xfce.xfce4-screenshooter}/bin/xfce4-screenshooter -r --save /tmp/ocr-tmp.png
 | |
|         ${pkgs.tesseract}/bin/tesseract /tmp/ocr-tmp.png | ${pkgs.xclip}/bin/xclip -sel clip
 | |
|         rm /tmp/ocr-tmp.png
 | |
|       ''}";
 | |
|     };
 | |
|     screenshot = {
 | |
|       name = "Screenshot";
 | |
|       exec = "screenshot";
 | |
|     };
 | |
|   };
 | |
| 
 | |
| 
 | |
|   qt = {
 | |
|     enable = true;
 | |
|     platformTheme.name = "gtk";
 | |
|     style = { name = "qt5ct-style"; };
 | |
|   };
 | |
| 
 | |
|   # set up env
 | |
|   xsession.enable = true;
 | |
| 
 | |
|   xresources.properties = {
 | |
|     "*.foreground" = "#95E6CB";
 | |
|     "*.background" = "#1F2430";
 | |
|     "*.cursorColor" = "#BAE67E";
 | |
|     # Black
 | |
|     "*.color0" = "#1F2430";
 | |
|     "*.color8" = "#F28779";
 | |
|     # Red          
 | |
|     "*.color1" = "#A6CC70";
 | |
|     "*.color9" = "#FFCC66";
 | |
|     # Green        
 | |
|     "*.color2" = "#5CCFE6";
 | |
|     "*.color10" = "#F29E74";
 | |
|     # Yellow
 | |
|     "*.color3" = "#77A8D9";
 | |
|     "*.color11" = "#5C6773";
 | |
|     # Blue         
 | |
|     "*.color4" = "#707A8C";
 | |
|     "*.color12" = "#F27983";
 | |
|     # Magenta      
 | |
|     "*.color5" = "#BAE67E";
 | |
|     "*.color13" = "#FFD580";
 | |
|     # Cyan         
 | |
|     "*.color6" = "#73D0FF";
 | |
|     "*.color14" = "#FFA759";
 | |
|     # White        
 | |
|     "*.color7" = "#95E6CB";
 | |
|     "*.color15" = "#CBCCC6";
 | |
|     # Bold, Italic, Underline
 | |
|     "*.colorBD" = "#e6e1cf";
 | |
|   };
 | |
| 
 | |
|   programs.autorandr.enable = true;
 | |
|   services.udiskie.automount = true;
 | |
| 
 | |
|   services.mpris-proxy.enable = true; # bluetooth media control
 | |
| 
 | |
|   # Compositor
 | |
|   # services.picom = {
 | |
|   #   enable = true;
 | |
|   #   fade = true;
 | |
|   #   fadeDelta = 1;
 | |
|   #   fadeSteps = [ "0.01" "0.022" ];
 | |
|   #   shadow = true;
 | |
|   #   shadowOffsets = [ (-10) (-10) ];
 | |
|   #   shadowOpacity = "0.22";
 | |
|   #   # activeOpacity = "1.00"; 
 | |
|   #   # inactiveOpacity = "0.92"; 
 | |
|   #   extraOptions = '' 
 | |
|   #        shadow-radius = 12;  
 | |
|   #        # blur-background = true;  
 | |
|   #        # blur-background-frame = true;  
 | |
|   #        # blur-background-fixed = true;  
 | |
|   #        blur-kern = "7x7box"; 
 | |
|   #        blur-strength = 320;  
 | |
|   #        corner-radius = 3
 | |
|   #      '';
 | |
|   # };
 | |
| }
 |