diff --git a/config/files.nix b/config/files.nix index 80e707a..48c075d 100644 --- a/config/files.nix +++ b/config/files.nix @@ -5,10 +5,6 @@ home.file.".config/zaney-stinger.mov".source = ./files/media/zaney-stinger.mov; home.file.".emoji".source = ./files/emoji; home.file.".face".source = ./files/face.jpg; - home.file."Pictures/Wallpapers" = { - source = ./files/media/Wallpapers; - recursive = true; - }; home.file.".local/share/fonts" = { source = ./files/fonts; recursive = true; diff --git a/config/files/media/Wallpapers/Bulbasaur_1080p.jpg b/config/files/media/Wallpapers/Bulbasaur_1080p.jpg deleted file mode 100755 index aced946..0000000 Binary files a/config/files/media/Wallpapers/Bulbasaur_1080p.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/FirewatchWallpaper.jpg b/config/files/media/Wallpapers/FirewatchWallpaper.jpg deleted file mode 100755 index 5bc507b..0000000 Binary files a/config/files/media/Wallpapers/FirewatchWallpaper.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/FusionA1.jpg b/config/files/media/Wallpapers/FusionA1.jpg deleted file mode 100644 index 935bc25..0000000 Binary files a/config/files/media/Wallpapers/FusionA1.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/Gangsta-Hoodie.jpeg b/config/files/media/Wallpapers/Gangsta-Hoodie.jpeg deleted file mode 100755 index 36a492d..0000000 Binary files a/config/files/media/Wallpapers/Gangsta-Hoodie.jpeg and /dev/null differ diff --git a/config/files/media/Wallpapers/MyCustomWallpaper.jpg b/config/files/media/Wallpapers/MyCustomWallpaper.jpg deleted file mode 100644 index b1f40db..0000000 Binary files a/config/files/media/Wallpapers/MyCustomWallpaper.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/Nordic_KDE_Wallpaper.jpg b/config/files/media/Wallpapers/Nordic_KDE_Wallpaper.jpg deleted file mode 100755 index 9776f86..0000000 Binary files a/config/files/media/Wallpapers/Nordic_KDE_Wallpaper.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/Rainnight.jpg b/config/files/media/Wallpapers/Rainnight.jpg deleted file mode 100755 index ffa2dc9..0000000 Binary files a/config/files/media/Wallpapers/Rainnight.jpg and /dev/null differ diff --git a/config/files/media/Wallpapers/solarized_puffy.png b/config/files/media/Wallpapers/solarized_puffy.png deleted file mode 100755 index 2a0b8aa..0000000 Binary files a/config/files/media/Wallpapers/solarized_puffy.png and /dev/null differ diff --git a/config/hyprland.nix b/config/hyprland.nix index 8c0535b..85ee2dd 100644 --- a/config/hyprland.nix +++ b/config/hyprland.nix @@ -61,13 +61,29 @@ animations { animation = workspaces, 1, 5, wind } +# Set Environment Variables +env = NIXOS_OZONE_WL, 1 +env = NIXPKGS_ALLOW_UNFREE, 1 +env = XDG_CURRENT_DESKTOP, Hyprland +env = XDG_SESSION_TYPE, wayland +env = XDG_SESSION_DESKTOP, Hyprland +env = GDK_BACKEND, wayland +env = CLUTTER_BACKEND, wayland +env = SDL_VIDEODRIVER, x11 +env = XCURSOR_SIZE, 24 +env = XCURSOR_THEME, Bibata-Modern-Ice +env = QT_QPA_PLATFORM, wayland +env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1 +env = QT_AUTO_SCREEN_SCALE_FACTOR, 1 +env = MOZ_ENABLE_WAYLAND, 1 + exec-once = dbus-update-activation-environment --systemd --all exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = hyprctl setcursor Bibata-Modern-Ice 24 exec-once = swww init exec-once = waybar exec-once = swaync -# exec-once = wallsetter +exec-once = wallsetter exec-once = swayidle -w timeout 150 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' $mainMod = SUPER diff --git a/config/scripts/wallsetter.nix b/config/scripts/wallsetter.nix index 9add8cf..0a5c5f1 100644 --- a/config/scripts/wallsetter.nix +++ b/config/scripts/wallsetter.nix @@ -1,24 +1,20 @@ -{ pkgs }: +{ pkgs, wallpaperDir, }: pkgs.writeShellScriptBin "wallsetter" '' -TIMEOUT=120 -OSRELEASE=$(cat /etc/os-release | grep nixos | shuf -n 1) -FILETYPE="l" +TIMEOUT=720 TRANSITION1="--transition-type wave --transition-angle 120 --transition-step 30" TRANSITION2="--transition-type wipe --transition-angle 30 --transition-step 30" TRANSITION3="--transition-type center --transition-step 30" TRANSITION4="--transition-type outer --transition-pos 0.3,0.8 --transition-step 30" TRANSITION5="--transition-type wipe --transition-angle 270 --transition-step 30" - -[[ ! -z "$OSRELEASE" ]] && FILETYPE="l" || FILETYPE="f" -WALLPAPER=$(find $HOME/Pictures/Wallpapers -type $FILETYPE | shuf -n 1) +WALLPAPER=$(find ${wallpaperDir}/* -type f | shuf -n 1) PREVIOUS=$WALLPAPER while true; do if [ $WALLPAPER == $PREVIOUS ] then - WALLPAPER=$(find $HOME/Pictures/Wallpapers -type $FILETYPE | shuf -n 1) + WALLPAPER=$(find ${wallpaperDir}/* -type f | shuf -n 1) else PREVIOUS=$WALLPAPER NUM=$(shuf -i 1-5 -n 1) diff --git a/flake.nix b/flake.nix index 86fd584..4154939 100644 --- a/flake.nix +++ b/flake.nix @@ -20,8 +20,10 @@ gitEmail = "tylerzanekelley@gmail.com"; theLocale = "en_US.UTF-8"; theTimezone = "America/Chicago"; - theme = "gigavolt"; - browser= pkgs.firefox; + theme = "tokyo-night-storm"; + browser = "firefox"; + wallpaperDir = "home/${username}/Pictures/Wallpapers"; + wallpaperGit = "https://gitlab.com/Zaney/my-wallpapers.git"; pkgs = import nixpkgs { inherit system; @@ -53,12 +55,13 @@ specialArgs = { inherit system; inherit inputs; inherit username; inherit hostname; inherit gitUsername; inherit gitEmail; inherit theLocale; inherit theTimezone; + inherit wallpaperDir; inherit wallpaperGit; }; modules = [ ./workstation/configuration.nix home-manager.nixosModules.home-manager { home-manager.extraSpecialArgs = { inherit username; inherit gitUsername; inherit gitEmail; inherit inputs; inherit theme; - inherit browser; + inherit browser; inherit wallpaperDir; inherit wallpaperGit; inherit (inputs.nix-colors.lib-contrib {inherit pkgs;}) gtkThemeFromScheme; }; home-manager.useGlobalPkgs = true; diff --git a/home.nix b/home.nix index bdb6dd2..f6e3a38 100644 --- a/home.nix +++ b/home.nix @@ -1,6 +1,6 @@ { config, pkgs, inputs, username, gitUsername, gitEmail, gtkThemeFromScheme, - theme, browser, ... }: + theme, browser, wallpaperDir, wallpaperGit, ... }: { # Home Manager Settings @@ -11,6 +11,7 @@ # Set The Colorscheme colorScheme = inputs.nix-colors.colorSchemes."${theme}"; + # Import Program Configurations imports = [ inputs.nix-colors.homeManagerModules.default ./config/waybar.nix @@ -54,7 +55,7 @@ # Install Packages For The User home.packages = with pkgs; [ - "${browser}" neofetch lolcat cmatrix discord htop btop libvirt + pkgs."${browser}" neofetch lolcat cmatrix discord htop btop libvirt swww polkit_gnome grim slurp lm_sensors unzip unrar gnome.file-roller libnotify swaynotificationcenter rofi-wayland imv v4l-utils ydotool wl-clipboard socat cowsay lsd pkg-config transmission-gtk mpv @@ -66,9 +67,10 @@ (import ./config/scripts/emopicker9000.nix { inherit pkgs; }) (import ./config/scripts/task-waybar.nix { inherit pkgs; }) (import ./config/scripts/squirtle.nix { inherit pkgs; }) - (import ./config/scripts/wallsetter.nix { inherit pkgs; }) + (import ./config/scripts/wallsetter.nix { inherit pkgs; inherit wallpaperDir; }) ]; + # Configure Cursor Theme home.pointerCursor = { gtk.enable = true; @@ -110,6 +112,17 @@ }; }; + # Theme QT -> GTK + qt = { + enable = true; + platformTheme = "gtk"; + style = { + name = "adwaita-dark"; + package = pkgs.adwaita-qt; + }; + }; + + # Create XDG Dirs xdg = { userDirs = { diff --git a/workstation/configuration.nix b/workstation/configuration.nix index 860942f..7247228 100644 --- a/workstation/configuration.nix +++ b/workstation/configuration.nix @@ -1,34 +1,30 @@ -# 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’). - { inputs, config, pkgs, username, hostname, gitUsername, theLocale, - theTimezone, ... }: + theTimezone, wallpaperDir, wallpaperGit, ... }: { imports = - [ # Include the results of the hardware scan. + [ # Include the results of the hardware scan ./hardware-configuration.nix ]; - # Bootloader. + # Bootloader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + + # This is for OBS Virtual Cam Support - v4l2loopback setup boot.kernelModules = [ "v4l2loopback" ]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; - networking.hostName = "${hostname}"; # Define your hostname. - # Enable networking + networking.hostName = "${hostname}"; # Define your hostname networking.networkmanager.enable = true; - # Set your time zone. + # Set your time zone time.timeZone = "${theTimezone}"; - # Select internationalisation properties. + # Select internationalisation properties i18n.defaultLocale = "${theLocale}"; - i18n.extraLocaleSettings = { LC_ADDRESS = "${theLocale}"; LC_IDENTIFICATION = "${theLocale}"; @@ -41,7 +37,7 @@ LC_TIME = "${theLocale}"; }; - # Define a user account. Don't forget to set a password with ‘passwd’. + # Define a user account. users.users."${username}" = { homeMode = "755"; isNormalUser = true; @@ -56,7 +52,7 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim wget curl libsForQt5.qtstyleplugin-kvantum libsForQt5.qt5ct + vim wget curl ]; fonts.packages = with pkgs; [ @@ -77,20 +73,21 @@ driSupport32Bit = true; }; - nixpkgs.config.qt5 = { - enable = true; - platformTheme = "qt5ct"; - style = { - package = pkgs.utterly-nord-plasma; - name = "Utterly Nord Plasma"; - }; - }; - programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; }; + system.activationScripts = { + installwallpapers.text = '' + if [ -d "${wallpaperDir}" ]; then + cd "${wallpaperDir}" && ${pkgs.git}/bin/git pull + else + ${pkgs.git}/bin/git clone "${wallpaperGit}" "${wallpaperDir}" + fi + ''; + }; + # Some programs need SUID wrappers, can be configured further or are # started in user sessions. programs.mtr.enable = true; @@ -127,7 +124,7 @@ services.gvfs.enable = true; services.tumbler.enable = true; - system.stateVersion = "23.11"; + # Optimization settings and garbage collection automation nix = { settings.auto-optimise-store = true; gc = { @@ -137,29 +134,6 @@ }; }; - # Set Environment Variables - environment.variables={ - NIXOS_OZONE_WL = "1"; - PATH = [ - "\${HOME}/.local/bin" - "\${HOME}/.cargo/bin" - "\$/usr/local/bin" - ]; - NIXPKGS_ALLOW_UNFREE = "1"; - SCRIPTDIR = "\${HOME}/.local/share/scriptdeps"; - XDG_CURRENT_DESKTOP = "Hyprland"; - XDG_SESSION_TYPE = "wayland"; - XDG_SESSION_DESKTOP = "Hyprland"; - GDK_BACKEND = "wayland"; - CLUTTER_BACKEND = "wayland"; - SDL_VIDEODRIVER = "x11"; - XCURSOR_SIZE = "24"; - XCURSOR_THEME = "Bibata-Modern-Ice"; - QT_QPA_PLATFORM = "wayland"; - QT_QPA_PLATFORMTHEME = "qt5ct"; - QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; - QT_AUTO_SCREEN_SCALE_FACTOR = "1"; - MOZ_ENABLE_WAYLAND = "1"; - }; + system.stateVersion = "23.11"; nix.settings.experimental-features = [ "nix-command" "flakes" ]; }