Complete Overhaul of flake.nix
This commit is contained in:
		
							
								
								
									
										19
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										19
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -577,7 +577,8 @@
 | 
				
			|||||||
        "hyprland-plugins": "hyprland-plugins",
 | 
					        "hyprland-plugins": "hyprland-plugins",
 | 
				
			||||||
        "nixcord": "nixcord",
 | 
					        "nixcord": "nixcord",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_4",
 | 
					        "nixpkgs": "nixpkgs_4",
 | 
				
			||||||
        "spicetify-nix": "spicetify-nix"
 | 
					        "spicetify-nix": "spicetify-nix",
 | 
				
			||||||
 | 
					        "unstable": "unstable"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "spicetify-nix": {
 | 
					    "spicetify-nix": {
 | 
				
			||||||
@@ -629,6 +630,22 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "unstable": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1756787288,
 | 
				
			||||||
 | 
					        "narHash": "sha256-rw/PHa1cqiePdBxhF66V7R+WAP8WekQ0mCDG4CFqT8Y=",
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "d0fc30899600b9b3466ddb260fd83deb486c32f1",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "xdph": {
 | 
					    "xdph": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "hyprland-protocols": [
 | 
					        "hyprland-protocols": [
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										235
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										235
									
								
								flake.nix
									
									
									
									
									
								
							@@ -5,34 +5,35 @@
 | 
				
			|||||||
  nixConfig = {
 | 
					  nixConfig = {
 | 
				
			||||||
    extra-substituters = [
 | 
					    extra-substituters = [
 | 
				
			||||||
      "https://nix-community.cachix.org"
 | 
					      "https://nix-community.cachix.org"
 | 
				
			||||||
 | 
					      "https://hyprland.cachix.org"
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    extra-trusted-public-keys = [
 | 
					    extra-trusted-public-keys = [
 | 
				
			||||||
      "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
 | 
					      "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
 | 
				
			||||||
 | 
					      "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  inputs = {
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    # Core
 | 
				
			||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
					    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
				
			||||||
 | 
					    unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Desktop ENV
 | 
				
			||||||
    hyprland.url = "github:hyprwm/Hyprland";
 | 
					    hyprland.url = "github:hyprwm/Hyprland";
 | 
				
			||||||
    spicetify-nix.url = "github:Gerg-L/spicetify-nix";
 | 
					 | 
				
			||||||
    nixcord.url = "github:kaylorben/nixcord";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /*
 | 
					 | 
				
			||||||
      nixvim = {
 | 
					 | 
				
			||||||
          url = "github:nix-community/nixvim/nixos-24.11";
 | 
					 | 
				
			||||||
          inputs.nixpkgs.follows = "nixpkgs";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    catppuccin.url = "github:catppuccin/nix";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    home-manager.url = "github:nix-community/home-manager/release-24.11";
 | 
					 | 
				
			||||||
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    hyprland-plugins = {
 | 
					    hyprland-plugins = {
 | 
				
			||||||
      url = "github:hyprwm/hyprland-plugins";
 | 
					      url = "github:hyprwm/hyprland-plugins";
 | 
				
			||||||
      inputs.hyprland.follows = "hyprland";
 | 
					      inputs.hyprland.follows = "hyprland";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Customization
 | 
				
			||||||
 | 
					    spicetify-nix.url = "github:Gerg-L/spicetify-nix";
 | 
				
			||||||
 | 
					    nixcord.url = "github:kaylorben/nixcord";
 | 
				
			||||||
 | 
					    catppuccin.url = "github:catppuccin/nix";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # User Config
 | 
				
			||||||
 | 
					    home-manager.url = "github:nix-community/home-manager/release-24.11";
 | 
				
			||||||
 | 
					    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  outputs =
 | 
					  outputs =
 | 
				
			||||||
@@ -43,113 +44,123 @@
 | 
				
			|||||||
      catppuccin,
 | 
					      catppuccin,
 | 
				
			||||||
      ...
 | 
					      ...
 | 
				
			||||||
    }:
 | 
					    }:
 | 
				
			||||||
    {
 | 
					
 | 
				
			||||||
      packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
					    let
 | 
				
			||||||
      nixosConfigurations = {
 | 
					      system = "x86_64-linux";
 | 
				
			||||||
        iso = nixpkgs.lib.nixosSystem {
 | 
					
 | 
				
			||||||
          system = "x86_64-linux";
 | 
					      # Common Configuration
 | 
				
			||||||
          modules = [
 | 
					      commonModules = [
 | 
				
			||||||
            (
 | 
					        (
 | 
				
			||||||
              { pkgs, modulesPath, ... }:
 | 
					          { config, ... }:
 | 
				
			||||||
              {
 | 
					          {
 | 
				
			||||||
                imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
 | 
					            nix.settings = {
 | 
				
			||||||
                environment.systemPackages = with pkgs; [
 | 
					              accept-flake-config = true;
 | 
				
			||||||
                  neovim
 | 
					              experimental-features = [
 | 
				
			||||||
                  git
 | 
					                "nix-command"
 | 
				
			||||||
                  wget
 | 
					                "flakes"
 | 
				
			||||||
                  curl
 | 
					              ];
 | 
				
			||||||
                ];
 | 
					            };
 | 
				
			||||||
                nix.settings.experimental-features = [
 | 
					          }
 | 
				
			||||||
                  "nix-command"
 | 
					        )
 | 
				
			||||||
                  "flakes"
 | 
					      ];
 | 
				
			||||||
                ];
 | 
					
 | 
				
			||||||
              }
 | 
					      commonHomeManagerConfig =
 | 
				
			||||||
            )
 | 
					        {
 | 
				
			||||||
          ];
 | 
					          username,
 | 
				
			||||||
 | 
					          monitorSetup ? "single",
 | 
				
			||||||
 | 
					        }:
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          home-manager = {
 | 
				
			||||||
 | 
					            useGlobalPkgs = true;
 | 
				
			||||||
 | 
					            useUserPackages = true;
 | 
				
			||||||
 | 
					            backupFileExtension = "backup";
 | 
				
			||||||
 | 
					            extraSpecialArgs = {
 | 
				
			||||||
 | 
					              inherit inputs;
 | 
				
			||||||
 | 
					              inherit username monitorSetup;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            users.${username} = import ./users/${username}/home.nix;
 | 
				
			||||||
 | 
					            sharedModules = [
 | 
				
			||||||
 | 
					              inputs.catppuccin.homeModules.catppuccin
 | 
				
			||||||
 | 
					              inputs.nixcord.homeModules.nixcord
 | 
				
			||||||
 | 
					            ];
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        m920q =
 | 
					      # System Builder
 | 
				
			||||||
          let
 | 
					      mkSystem =
 | 
				
			||||||
            username = "phil";
 | 
					        {
 | 
				
			||||||
            specialArgs = {
 | 
					          hostname,
 | 
				
			||||||
              inherit inputs username;
 | 
					          username,
 | 
				
			||||||
            };
 | 
					          system ? "x86_64-linux",
 | 
				
			||||||
          in
 | 
					          monitorSetup ? "single",
 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					          extraModules ? [ ],
 | 
				
			||||||
            inherit specialArgs;
 | 
					        }:
 | 
				
			||||||
            system = "x86_64-linux";
 | 
					        nixpkgs.lib.nixosSystem {
 | 
				
			||||||
 | 
					          inherit system;
 | 
				
			||||||
            modules = [
 | 
					          specialArgs = {
 | 
				
			||||||
              ./hosts/m920q
 | 
					            inherit inputs;
 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					            inherit username monitorSetup;
 | 
				
			||||||
 | 
					 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                home-manager.backupFileExtension = "backup";
 | 
					 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
                home-manager.sharedModules = [
 | 
					 | 
				
			||||||
                  inputs.nixcord.homeModules.nixcord
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                nix.settings.experimental-features = [
 | 
					 | 
				
			||||||
                  "nix-command"
 | 
					 | 
				
			||||||
                  "flakes"
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
 | 
					          modules =
 | 
				
			||||||
        qemu =
 | 
					            commonModules
 | 
				
			||||||
          let
 | 
					            ++ [
 | 
				
			||||||
            username = "phil";
 | 
					              ./hosts/${hostname}
 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					 | 
				
			||||||
          in
 | 
					 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					 | 
				
			||||||
            inherit specialArgs;
 | 
					 | 
				
			||||||
            system = "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            modules = [
 | 
					 | 
				
			||||||
              ./hosts/qemu
 | 
					 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					              ./users/${username}/nixos.nix
 | 
				
			||||||
 | 
					 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					              home-manager.nixosModules.home-manager
 | 
				
			||||||
              {
 | 
					              (commonHomeManagerConfig { inherit username monitorSetup; })
 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					            ]
 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					            ++ extraModules;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					        };
 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        hp15-n028sg =
 | 
					      # ISO configuration
 | 
				
			||||||
          let
 | 
					      isoConfig = nixpkgs.lib.nixosSystem {
 | 
				
			||||||
            username = "phil";
 | 
					        inherit system;
 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					        modules = [
 | 
				
			||||||
          in
 | 
					          (import (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"))
 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					          (
 | 
				
			||||||
            inherit specialArgs;
 | 
					            { pkgs, ... }:
 | 
				
			||||||
            system = "x86_64-linux";
 | 
					            {
 | 
				
			||||||
 | 
					              environment.systemPackages = with pkgs; [
 | 
				
			||||||
 | 
					                neovim
 | 
				
			||||||
 | 
					                git
 | 
				
			||||||
 | 
					                wget
 | 
				
			||||||
 | 
					                curl
 | 
				
			||||||
 | 
					              ];
 | 
				
			||||||
 | 
					              nix.settings.experimental-features = [
 | 
				
			||||||
 | 
					                "nix-command"
 | 
				
			||||||
 | 
					                "flakes"
 | 
				
			||||||
 | 
					              ];
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          )
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            modules = [
 | 
					    in
 | 
				
			||||||
              ./hosts/hp15-n028sg
 | 
					    {
 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					      packages.${system}.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					      nixosConfigurations = {
 | 
				
			||||||
              {
 | 
					        iso = isoConfig;
 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					
 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					        qemu = mkSystem {
 | 
				
			||||||
 | 
					          hostname = "qemu";
 | 
				
			||||||
 | 
					          username = "phil";
 | 
				
			||||||
 | 
					          monitorSetup = "single";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        m920q = mkSystem {
 | 
				
			||||||
 | 
					          hostname = "m920q";
 | 
				
			||||||
 | 
					          username = "phil";
 | 
				
			||||||
 | 
					          monitorSetup = "dual";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        hp15-n028sg = mkSystem {
 | 
				
			||||||
 | 
					          hostname = "hp15-n028sg";
 | 
				
			||||||
 | 
					          username = "phil";
 | 
				
			||||||
 | 
					          monitorSetup = "dual";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										40
									
								
								home/hyprland/cava.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								home/hyprland/cava.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					{ ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  programs.cava = {
 | 
				
			||||||
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      general = {
 | 
				
			||||||
 | 
					        framerate = 120;
 | 
				
			||||||
 | 
					        bars = 0;
 | 
				
			||||||
 | 
					        bar_width = 2;
 | 
				
			||||||
 | 
					        bar_spacing = 1;
 | 
				
			||||||
 | 
					        #bar_height = 32;
 | 
				
			||||||
 | 
					        sensitivity = 90;
 | 
				
			||||||
 | 
					        autosens = 1;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      input = {
 | 
				
			||||||
 | 
					        method = "pipewire";
 | 
				
			||||||
 | 
					        source = "auto";
 | 
				
			||||||
 | 
					        sample_rate = 44100;
 | 
				
			||||||
 | 
					        sample_bits = 16;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      output = {
 | 
				
			||||||
 | 
					        channels = "stereo";
 | 
				
			||||||
 | 
					        mono_option = "average";
 | 
				
			||||||
 | 
					        reverse = 0;
 | 
				
			||||||
 | 
					        waveform = 0;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      smoothing = {
 | 
				
			||||||
 | 
					        monstercat = 1;
 | 
				
			||||||
 | 
					        waves = 0;
 | 
				
			||||||
 | 
					        noise_reduction = 0.77;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,14 +1,29 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					{ monitorSetup, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./kitty.nix # Terminal
 | 
					    ./kitty.nix # Terminal
 | 
				
			||||||
    ./alacritty.nix
 | 
					 | 
				
			||||||
    ./hyprland.nix
 | 
					    ./hyprland.nix
 | 
				
			||||||
    ./hypridle.nix
 | 
					    ./hypridle.nix
 | 
				
			||||||
    ./hyprlock.nix
 | 
					    ./hyprlock.nix
 | 
				
			||||||
    ./hyprpaper.nix
 | 
					    ./hyprpaper.nix
 | 
				
			||||||
    ./rofi # App Launcher
 | 
					    ./rofi # App Launcher
 | 
				
			||||||
    ./mako.nix # Notifyer
 | 
					    ./mako.nix # Notifyer
 | 
				
			||||||
 | 
					    ./cava.nix # Music Visualizer
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.waybar =
 | 
				
			||||||
 | 
					    if monitorSetup == "single" then
 | 
				
			||||||
 | 
					      import ../../home/hyprland/waybar/single.nix
 | 
				
			||||||
 | 
					    else if monitorSetup == "dual" then
 | 
				
			||||||
 | 
					      import ../../home/hyprland/waybar/dual.nix
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      { };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.file.".config/waybar" = {
 | 
				
			||||||
 | 
					    source = ./waybar/configs;
 | 
				
			||||||
 | 
					    # copy the scripts directory recursively
 | 
				
			||||||
 | 
					    recursive = true;
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.file.".config/hypr/hyprland.conf".enable = false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,7 +7,8 @@ let
 | 
				
			|||||||
  theme = "-theme $HOME/.config/rofi/custom.rasi";
 | 
					  theme = "-theme $HOME/.config/rofi/custom.rasi";
 | 
				
			||||||
  menu = "rofi -show drun ${theme}";
 | 
					  menu = "rofi -show drun ${theme}";
 | 
				
			||||||
  filebrowser = "rofi -show filebrowser ${theme}";
 | 
					  filebrowser = "rofi -show filebrowser ${theme}";
 | 
				
			||||||
  power = "rofi -show p -modi p:rofi-power-menu";
 | 
					  power = "rofi -show p -modi p:rofi-power-menu -theme $HOME/.config/rofi/power.rasi";
 | 
				
			||||||
 | 
					  apps = "rofi -show window ${theme}";
 | 
				
			||||||
in
 | 
					in
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
@@ -92,8 +93,8 @@ in
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    general = {
 | 
					    general = {
 | 
				
			||||||
      # See https://wiki.hyprland.org/Configuring/Variables/ for more
 | 
					      # See https://wiki.hyprland.org/Configuring/Variables/ for more
 | 
				
			||||||
      gaps_in = 8;
 | 
					      gaps_in = 4;
 | 
				
			||||||
      gaps_out = 16;
 | 
					      gaps_out = 0;
 | 
				
			||||||
      border_size = 4;
 | 
					      border_size = 4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      "col.active_border" = "$green";
 | 
					      "col.active_border" = "$green";
 | 
				
			||||||
@@ -106,10 +107,10 @@ in
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    decoration = {
 | 
					    decoration = {
 | 
				
			||||||
      rounding = 12;
 | 
					      rounding = 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      shadow = {
 | 
					      shadow = {
 | 
				
			||||||
        enabled = true;
 | 
					        enabled = false;
 | 
				
			||||||
        range = 16;
 | 
					        range = 16;
 | 
				
			||||||
        render_power = 4;
 | 
					        render_power = 4;
 | 
				
			||||||
        ignore_window = true;
 | 
					        ignore_window = true;
 | 
				
			||||||
@@ -182,27 +183,36 @@ in
 | 
				
			|||||||
      "nofocus, class:^(xwaylandvideobridge)$"
 | 
					      "nofocus, class:^(xwaylandvideobridge)$"
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # See further https://wiki.hypr.land/Configuring/Workspace-Rules/
 | 
				
			||||||
    exec-once = [
 | 
					    exec-once = [
 | 
				
			||||||
      "waybar &"
 | 
					      "waybar &"
 | 
				
			||||||
      "hyprpaper &"
 | 
					      "hyprpaper &"
 | 
				
			||||||
 | 
					      "[workspace 8] obsidian"
 | 
				
			||||||
 | 
					      "[workspace 1] floorp"
 | 
				
			||||||
 | 
					      "[workspace 2] spotify"
 | 
				
			||||||
 | 
					      "[workspace 2] kitty --class=cava-terminal -e cava"
 | 
				
			||||||
 | 
					      "[workspace 3] thunderbird"
 | 
				
			||||||
 | 
					      "[workspace 9] kitty"
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Keybindings
 | 
					    # Keybindings
 | 
				
			||||||
    bind = [
 | 
					    bind = [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Application Bindings
 | 
				
			||||||
      "${super}, Q, exec, ${terminal}"
 | 
					      "${super}, Q, exec, ${terminal}"
 | 
				
			||||||
      "${super}, C, killactive, "
 | 
					 | 
				
			||||||
      "${super}, M, exit, "
 | 
					 | 
				
			||||||
      "${super}, E, exec, ${fileManager}"
 | 
					      "${super}, E, exec, ${fileManager}"
 | 
				
			||||||
      "${super}, V, togglefloating, "
 | 
					      "${super}, O, exec, obsidian"
 | 
				
			||||||
 | 
					      "${super}, I, exec, floorp"
 | 
				
			||||||
 | 
					      "${super}, G, exec, thunderbird"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Lock Screen
 | 
				
			||||||
 | 
					      "${super}, M, exit, "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Rofi bindings
 | 
				
			||||||
 | 
					      "${super}, f, exec, ${filebrowser}"
 | 
				
			||||||
 | 
					      "${super}, A, exec, ${apps}"
 | 
				
			||||||
      "${super}, R, exec, ${menu}"
 | 
					      "${super}, R, exec, ${menu}"
 | 
				
			||||||
      "${super}, S, exec, ${power}"
 | 
					      "${super}, S, exec, ${power}"
 | 
				
			||||||
      "${super}, F, exec, ${filebrowser}"
 | 
					 | 
				
			||||||
      "${super}, P, pseudo, " # dwindle
 | 
					 | 
				
			||||||
      "${super}, J, togglesplit, " # dwindle
 | 
					 | 
				
			||||||
      "${super}, O, exec, obsidian"
 | 
					 | 
				
			||||||
      "${super}, I, exec, firefox"
 | 
					 | 
				
			||||||
      "${super}, G, exec, thunderbird"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Move focus with mainMod + arrow keys
 | 
					      # Move focus with mainMod + arrow keys
 | 
				
			||||||
      "${super}, left, movefocus, l"
 | 
					      "${super}, left, movefocus, l"
 | 
				
			||||||
@@ -210,6 +220,12 @@ in
 | 
				
			|||||||
      "${super}, up, movefocus, u"
 | 
					      "${super}, up, movefocus, u"
 | 
				
			||||||
      "${super}, down, movefocus, d"
 | 
					      "${super}, down, movefocus, d"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Window Modifiers
 | 
				
			||||||
 | 
					      "${super}, P, pseudo, " # dwindle
 | 
				
			||||||
 | 
					      "${super}, J, togglesplit, " # dwindle
 | 
				
			||||||
 | 
					      "${super}, V, togglefloating, " # dwindle
 | 
				
			||||||
 | 
					      "${super}, C, killactive, "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Switch workspaces with mainMod + [0-9]
 | 
					      # Switch workspaces with mainMod + [0-9]
 | 
				
			||||||
      "${super}, 1, workspace, 1"
 | 
					      "${super}, 1, workspace, 1"
 | 
				
			||||||
      "${super}, 2, workspace, 2"
 | 
					      "${super}, 2, workspace, 2"
 | 
				
			||||||
@@ -249,7 +265,7 @@ in
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    bindl = [
 | 
					    bindl = [
 | 
				
			||||||
      #", XF86AudioMute, exec, amixer set Master toggle
 | 
					      #", XF86AudioMute, exec, amixer set Master toggle
 | 
				
			||||||
      ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
 | 
					      ", XF86AudioMute, exec, pamixer -t"
 | 
				
			||||||
      ", XF86AudioPlay, exec, playerctl play-pause" # the stupid key is called play , but it toggles
 | 
					      ", XF86AudioPlay, exec, playerctl play-pause" # the stupid key is called play , but it toggles
 | 
				
			||||||
      ", XF86AudioNext, exec, playerctl next"
 | 
					      ", XF86AudioNext, exec, playerctl next"
 | 
				
			||||||
      ", XF86AudioPrev, exec, playerctl previous"
 | 
					      ", XF86AudioPrev, exec, playerctl previous"
 | 
				
			||||||
@@ -257,12 +273,10 @@ in
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    bindle = [
 | 
					    bindle = [
 | 
				
			||||||
      # Multi Media Control
 | 
					      # Multi Media Control
 | 
				
			||||||
      ", XF86AudioRaiseVolume, exec, vol --up"
 | 
					      ", XF86AudioRaiseVolume, exec, pamixer -i 5"
 | 
				
			||||||
      ", XF86AudioLowerVolume, exec, vol --down"
 | 
					      ", XF86AudioLowerVolume, exec, pamixer -d 5"
 | 
				
			||||||
      ", XF86MonBrightnessUp, exec, bri --up"
 | 
					      ", XF86MonBrightnessUp, exec, bri --up"
 | 
				
			||||||
      ", XF86MonBrightnessDown, exec, bri --down"
 | 
					      ", XF86MonBrightnessDown, exec, bri --down"
 | 
				
			||||||
      ", XF86Search, exec, ${menu}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    bindm = [
 | 
					    bindm = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,9 +52,12 @@ window {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /* properties for all widgets */
 | 
					    /* properties for all widgets */
 | 
				
			||||||
    enabled:                     true;
 | 
					    enabled:                     true;
 | 
				
			||||||
    border-radius:               12px;
 | 
					    border-radius:               1px;
 | 
				
			||||||
    cursor:                      "default";
 | 
					    cursor:                      "default";
 | 
				
			||||||
    background-color:            @base;
 | 
					    background-color:            @base;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
						border:		 				 4px;
 | 
				
			||||||
 | 
						border-color: 				 @yellow;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Main Box */
 | 
					/* Main Box */
 | 
				
			||||||
@@ -72,7 +75,7 @@ imagebox {
 | 
				
			|||||||
    background-color:            transparent;
 | 
					    background-color:            transparent;
 | 
				
			||||||
    background-image:            url("~/.config/rofi/background.png", height);
 | 
					    background-image:            url("~/.config/rofi/background.png", height);
 | 
				
			||||||
    orientation:                 vertical;
 | 
					    orientation:                 vertical;
 | 
				
			||||||
    children:                    [ "inputbar", "dummy", "mode-switcher" ];
 | 
					    children:                    [  "inputbar", "weatherelement", "dummy", "mode-switcher" ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
listbox {
 | 
					listbox {
 | 
				
			||||||
@@ -83,6 +86,13 @@ listbox {
 | 
				
			|||||||
    children:                    [ "message", "listview" ];
 | 
					    children:                    [ "message", "listview" ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					weatherelement {
 | 
				
			||||||
 | 
							border-radius: 20px;
 | 
				
			||||||
 | 
							background-color: transparent;
 | 
				
			||||||
 | 
							text-color: @peach;
 | 
				
			||||||
 | 
							str: "Hello This is text"; 
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
dummy {
 | 
					dummy {
 | 
				
			||||||
    background-color:            transparent;
 | 
					    background-color:            transparent;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								home/hyprland/rofi/configs/power.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								home/hyprland/rofi/configs/power.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 447 KiB  | 
							
								
								
									
										162
									
								
								home/hyprland/rofi/configs/power.rasi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								home/hyprland/rofi/configs/power.rasi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,162 @@
 | 
				
			|||||||
 | 
					* {
 | 
				
			||||||
 | 
					  rosewater: #f5e0dc;
 | 
				
			||||||
 | 
					  flamingo: #f2cdcd;
 | 
				
			||||||
 | 
					  pink: #f5c2e7;
 | 
				
			||||||
 | 
					  mauve: #cba6f7;
 | 
				
			||||||
 | 
					  red: #f38ba8;
 | 
				
			||||||
 | 
					  maroon: #eba0ac;
 | 
				
			||||||
 | 
					  peach: #fab387;
 | 
				
			||||||
 | 
					  yellow: #f9e2af;
 | 
				
			||||||
 | 
					  green: #a6e3a1;
 | 
				
			||||||
 | 
					  teal: #94e2d5;
 | 
				
			||||||
 | 
					  sky: #89dceb;
 | 
				
			||||||
 | 
					  sapphire: #74c7ec;
 | 
				
			||||||
 | 
					  blue: #89b4fa;
 | 
				
			||||||
 | 
					  lavender: #b4befe;
 | 
				
			||||||
 | 
					  text: #cdd6f4;
 | 
				
			||||||
 | 
					  subtext1: #bac2de;
 | 
				
			||||||
 | 
					  subtext0: #a6adc8;
 | 
				
			||||||
 | 
					  overlay2: #9399b2;
 | 
				
			||||||
 | 
					  overlay1: #7f849c;
 | 
				
			||||||
 | 
					  overlay0: #6c7086;
 | 
				
			||||||
 | 
					  surface2: #585b70;
 | 
				
			||||||
 | 
					  surface1: #45475a;
 | 
				
			||||||
 | 
					  surface0: #313244;
 | 
				
			||||||
 | 
					  base: #1e1e2e;
 | 
				
			||||||
 | 
					  mantle: #181825;
 | 
				
			||||||
 | 
					  crust: #11111b;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					configuration {
 | 
				
			||||||
 | 
					    font:						 "Icomoon-Feather 12";
 | 
				
			||||||
 | 
					    show-icons: 				 true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					USE_BUTTONS=YES
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Main Window -----*****/
 | 
				
			||||||
 | 
					window {
 | 
				
			||||||
 | 
					    transparency:                "real";
 | 
				
			||||||
 | 
					    location:                    center;
 | 
				
			||||||
 | 
					    anchor:                      center;
 | 
				
			||||||
 | 
					    fullscreen:                  false;
 | 
				
			||||||
 | 
					    width:                       1000px;
 | 
				
			||||||
 | 
					    x-offset:                    0px;
 | 
				
			||||||
 | 
					    y-offset:                    0px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    padding:                     0px;
 | 
				
			||||||
 | 
					    border:                      4px solid;
 | 
				
			||||||
 | 
					    border-radius:               2px;
 | 
				
			||||||
 | 
					    border-color:                @blue;
 | 
				
			||||||
 | 
					    cursor:                      "default";
 | 
				
			||||||
 | 
					    background-color:            @base;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Main Box -----*****/
 | 
				
			||||||
 | 
					mainbox {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     0px;
 | 
				
			||||||
 | 
					    margin:                      0px;
 | 
				
			||||||
 | 
					    padding:                     0px;
 | 
				
			||||||
 | 
					    border:                      0px solid;
 | 
				
			||||||
 | 
					    border-radius:               0px;
 | 
				
			||||||
 | 
					    border-color:                @blue;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    children:                    [ "inputbar", "listview", "message" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Inputbar -----*****/
 | 
				
			||||||
 | 
					inputbar {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     20px;
 | 
				
			||||||
 | 
					    padding:                     100px 40px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    background-image:            url("~/.config/rofi/power.jpg", width);
 | 
				
			||||||
 | 
					    children:                    [ "textbox-prompt-colon", "prompt"];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dummy {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					textbox-prompt-colon {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    expand:                      false;
 | 
				
			||||||
 | 
					    str:                         " System";
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border:                      0px 0px 0px 10px;
 | 
				
			||||||
 | 
					    border-radius:               100% 100% 0px 100%;
 | 
				
			||||||
 | 
					    border-color:                @peach;
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					prompt {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border:                      0px;
 | 
				
			||||||
 | 
					    border-radius:               0px 100% 100% 100%;
 | 
				
			||||||
 | 
					    border-color:                @blue;
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Listview -----*****/
 | 
				
			||||||
 | 
					listview {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    columns:                     6;
 | 
				
			||||||
 | 
					    lines:                       1;
 | 
				
			||||||
 | 
					    cycle:                       true;
 | 
				
			||||||
 | 
					    dynamic:                     true;
 | 
				
			||||||
 | 
					    scrollbar:                   false;
 | 
				
			||||||
 | 
					    layout:                      vertical;
 | 
				
			||||||
 | 
					    reverse:                     false;
 | 
				
			||||||
 | 
					    fixed-height:                true;
 | 
				
			||||||
 | 
					    fixed-columns:               true;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    spacing:                     30px;
 | 
				
			||||||
 | 
					    margin:                      30px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    cursor:                      "default";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Elements -----*****/
 | 
				
			||||||
 | 
					element {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    padding:                     35px 10px;
 | 
				
			||||||
 | 
					    border-radius:               5%;
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					    cursor:                      pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element-text {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    cursor:                      inherit;
 | 
				
			||||||
 | 
					    vertical-align:              0.5;
 | 
				
			||||||
 | 
					    horizontal-align:            0.5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element selected.normal {
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @sapphire;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*****----- Message -----*****/
 | 
				
			||||||
 | 
					message {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    margin:                      0px;
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border-radius:               0px;
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @yellow;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					textbox {
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    vertical-align:              0.5;
 | 
				
			||||||
 | 
					    horizontal-align:            0.5;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,201 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.waybar = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    package = pkgs.waybar;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      mainBar = {
 | 
					 | 
				
			||||||
        layer = "top";
 | 
					 | 
				
			||||||
        position = "top";
 | 
					 | 
				
			||||||
        height = 30;
 | 
					 | 
				
			||||||
        output = [ "DP-1" ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-left = [
 | 
					 | 
				
			||||||
          "hyprland/workspaces"
 | 
					 | 
				
			||||||
          "mpris"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-center = [ ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-right = [
 | 
					 | 
				
			||||||
          "network"
 | 
					 | 
				
			||||||
          "memory"
 | 
					 | 
				
			||||||
          "cpu"
 | 
					 | 
				
			||||||
          "clock"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Widgets
 | 
					 | 
				
			||||||
        "sway/workspaces" = {
 | 
					 | 
				
			||||||
          disable-scroll = true;
 | 
					 | 
				
			||||||
          all-outputs = true;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        mpris = {
 | 
					 | 
				
			||||||
          format = "{player_icon} {dynamic}";
 | 
					 | 
				
			||||||
          format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
 | 
					 | 
				
			||||||
          max-length = 100;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          player-icons = {
 | 
					 | 
				
			||||||
            default = "⏸";
 | 
					 | 
				
			||||||
            mpv = "🎵";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          status-icons = {
 | 
					 | 
				
			||||||
            paused = "▶";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        "hyprland/workspaces" = {
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          format-icons = {
 | 
					 | 
				
			||||||
            default = "";
 | 
					 | 
				
			||||||
            active = "";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        network = {
 | 
					 | 
				
			||||||
          tooltip = true;
 | 
					 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
          rotate = 0;
 | 
					 | 
				
			||||||
          format-ethernet = " ";
 | 
					 | 
				
			||||||
          tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
					 | 
				
			||||||
          format-linked = " {ifname} (No IP)";
 | 
					 | 
				
			||||||
          format-disconnected = " ";
 | 
					 | 
				
			||||||
          tooltip-format-disconnected = "Disconnected";
 | 
					 | 
				
			||||||
          on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
					 | 
				
			||||||
          interval = 2;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        memory = {
 | 
					 | 
				
			||||||
          interval = 1;
 | 
					 | 
				
			||||||
          rotate = 270;
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
          max-length = 10;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        cpu = {
 | 
					 | 
				
			||||||
          interval = 1;
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          rotate = 270;
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        clock = {
 | 
					 | 
				
			||||||
          format = "{:%I:%M %p}";
 | 
					 | 
				
			||||||
          rotate = 0;
 | 
					 | 
				
			||||||
          on-click = "/usr/local/bin/ags -t ActivityCenter";
 | 
					 | 
				
			||||||
          tooltip-format = "<tt>{calendar}</tt>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          calendar = {
 | 
					 | 
				
			||||||
            mode = "month";
 | 
					 | 
				
			||||||
            mode-mon-col = 3;
 | 
					 | 
				
			||||||
            on-scroll = 1;
 | 
					 | 
				
			||||||
            on-click-right = "mode";
 | 
					 | 
				
			||||||
            format = {
 | 
					 | 
				
			||||||
              months = "<span color='#ffead3'><b>{}</b></span>";
 | 
					 | 
				
			||||||
              weekdays = "<span color='#ffcc66'><b>{}</b></span>";
 | 
					 | 
				
			||||||
              today = "<span color='#ff6699'><b>{}</b></span>";
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          actions = {
 | 
					 | 
				
			||||||
            on-click-right = "mode";
 | 
					 | 
				
			||||||
            on-click-forward = "tz_up";
 | 
					 | 
				
			||||||
            on-click-backward = "tz_down";
 | 
					 | 
				
			||||||
            on-scroll-up = "shift_up";
 | 
					 | 
				
			||||||
            on-scroll-down = "shift_down";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      secondBar = {
 | 
					 | 
				
			||||||
        layer = "top";
 | 
					 | 
				
			||||||
        position = "top";
 | 
					 | 
				
			||||||
        height = 30;
 | 
					 | 
				
			||||||
        output = [
 | 
					 | 
				
			||||||
          "HDMI-A-2"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-left = [
 | 
					 | 
				
			||||||
          "hyprland/workspaces"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-center = [
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-right = [
 | 
					 | 
				
			||||||
          "network"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        "hyprland/workspaces" = {
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          format-icons = {
 | 
					 | 
				
			||||||
            default = "";
 | 
					 | 
				
			||||||
            active = "";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        "custom/weather" = {
 | 
					 | 
				
			||||||
          exec = "~/.config/waybar/weather.py waybar";
 | 
					 | 
				
			||||||
          restart-interval = 900;
 | 
					 | 
				
			||||||
          return-type = "json";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        network = {
 | 
					 | 
				
			||||||
          tooltip = true;
 | 
					 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
          rotate = 0;
 | 
					 | 
				
			||||||
          format-ethernet = "{bandwidthTotalBits}  {bandwidthUpBits}  {bandwidthDownBits}   ";
 | 
					 | 
				
			||||||
          tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
					 | 
				
			||||||
          format-linked = " {ifname} (No IP)";
 | 
					 | 
				
			||||||
          format-disconnected = " ";
 | 
					 | 
				
			||||||
          tooltip-format-disconnected = "Disconnected";
 | 
					 | 
				
			||||||
          on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
					 | 
				
			||||||
          interval = 2;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.file.".config/waybar" = {
 | 
					 | 
				
			||||||
    source = ./configs;
 | 
					 | 
				
			||||||
    # copy the scripts directory recursively
 | 
					 | 
				
			||||||
    recursive = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										188
									
								
								home/hyprland/waybar/dual.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								home/hyprland/waybar/dual.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,188 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  enable = true;
 | 
				
			||||||
 | 
					  settings = {
 | 
				
			||||||
 | 
					    mainBar = {
 | 
				
			||||||
 | 
					      layer = "top";
 | 
				
			||||||
 | 
					      position = "top";
 | 
				
			||||||
 | 
					      height = 30;
 | 
				
			||||||
 | 
					      output = [ "DP-1" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-left = [
 | 
				
			||||||
 | 
					        "hyprland/workspaces"
 | 
				
			||||||
 | 
					        "mpris"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-center = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-right = [
 | 
				
			||||||
 | 
					        "network"
 | 
				
			||||||
 | 
					        "memory"
 | 
				
			||||||
 | 
					        "cpu"
 | 
				
			||||||
 | 
					        "clock"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Widgets
 | 
				
			||||||
 | 
					      "sway/workspaces" = {
 | 
				
			||||||
 | 
					        disable-scroll = true;
 | 
				
			||||||
 | 
					        all-outputs = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      mpris = {
 | 
				
			||||||
 | 
					        format = "{player_icon} {dynamic}";
 | 
				
			||||||
 | 
					        format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
 | 
				
			||||||
 | 
					        max-length = 100;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        player-icons = {
 | 
				
			||||||
 | 
					          default = "⏸";
 | 
				
			||||||
 | 
					          mpv = "🎵";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        status-icons = {
 | 
				
			||||||
 | 
					          paused = "▶";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "hyprland/workspaces" = {
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        format-icons = {
 | 
				
			||||||
 | 
					          default = "";
 | 
				
			||||||
 | 
					          active = "";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      network = {
 | 
				
			||||||
 | 
					        tooltip = true;
 | 
				
			||||||
 | 
					        format-wifi = "{icon} ";
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        rotate = 0;
 | 
				
			||||||
 | 
					        format-ethernet = " ";
 | 
				
			||||||
 | 
					        tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
				
			||||||
 | 
					        format-linked = " {ifname} (No IP)";
 | 
				
			||||||
 | 
					        format-disconnected = " ";
 | 
				
			||||||
 | 
					        tooltip-format-disconnected = "Disconnected";
 | 
				
			||||||
 | 
					        on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
				
			||||||
 | 
					        interval = 2;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      memory = {
 | 
				
			||||||
 | 
					        interval = 1;
 | 
				
			||||||
 | 
					        rotate = 270;
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        max-length = 10;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      cpu = {
 | 
				
			||||||
 | 
					        interval = 1;
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        rotate = 270;
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      clock = {
 | 
				
			||||||
 | 
					        format = "{:%I:%M %p}";
 | 
				
			||||||
 | 
					        rotate = 0;
 | 
				
			||||||
 | 
					        on-click = "/usr/local/bin/ags -t ActivityCenter";
 | 
				
			||||||
 | 
					        tooltip-format = "<tt>{calendar}</tt>";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        calendar = {
 | 
				
			||||||
 | 
					          mode = "month";
 | 
				
			||||||
 | 
					          mode-mon-col = 3;
 | 
				
			||||||
 | 
					          on-scroll = 1;
 | 
				
			||||||
 | 
					          on-click-right = "mode";
 | 
				
			||||||
 | 
					          format = {
 | 
				
			||||||
 | 
					            months = "<span color='#ffead3'><b>{}</b></span>";
 | 
				
			||||||
 | 
					            weekdays = "<span color='#ffcc66'><b>{}</b></span>";
 | 
				
			||||||
 | 
					            today = "<span color='#ff6699'><b>{}</b></span>";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        actions = {
 | 
				
			||||||
 | 
					          on-click-right = "mode";
 | 
				
			||||||
 | 
					          on-click-forward = "tz_up";
 | 
				
			||||||
 | 
					          on-click-backward = "tz_down";
 | 
				
			||||||
 | 
					          on-scroll-up = "shift_up";
 | 
				
			||||||
 | 
					          on-scroll-down = "shift_down";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    secondBar = {
 | 
				
			||||||
 | 
					      layer = "top";
 | 
				
			||||||
 | 
					      position = "top";
 | 
				
			||||||
 | 
					      height = 30;
 | 
				
			||||||
 | 
					      output = [
 | 
				
			||||||
 | 
					        "HDMI-A-2"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-left = [
 | 
				
			||||||
 | 
					        "hyprland/workspaces"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-center = [
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-right = [
 | 
				
			||||||
 | 
					        "network"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "hyprland/workspaces" = {
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        format-icons = {
 | 
				
			||||||
 | 
					          default = "";
 | 
				
			||||||
 | 
					          active = "";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "custom/weather" = {
 | 
				
			||||||
 | 
					        exec = "~/.config/waybar/weather.py waybar";
 | 
				
			||||||
 | 
					        restart-interval = 900;
 | 
				
			||||||
 | 
					        return-type = "json";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      network = {
 | 
				
			||||||
 | 
					        tooltip = true;
 | 
				
			||||||
 | 
					        format-wifi = "{icon} ";
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        rotate = 0;
 | 
				
			||||||
 | 
					        format-ethernet = "{bandwidthTotalBits}  {bandwidthUpBits}  {bandwidthDownBits}   ";
 | 
				
			||||||
 | 
					        tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
				
			||||||
 | 
					        format-linked = " {ifname} (No IP)";
 | 
				
			||||||
 | 
					        format-disconnected = " ";
 | 
				
			||||||
 | 
					        tooltip-format-disconnected = "Disconnected";
 | 
				
			||||||
 | 
					        on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
				
			||||||
 | 
					        interval = 2;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,163 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  pkgs,
 | 
					 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					 | 
				
			||||||
}:
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  programs.waybar = {
 | 
					 | 
				
			||||||
    enable = true;
 | 
					 | 
				
			||||||
    package = pkgs.waybar;
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
      mainBar = {
 | 
					 | 
				
			||||||
        layer = "top";
 | 
					 | 
				
			||||||
        position = "top";
 | 
					 | 
				
			||||||
        height = 30;
 | 
					 | 
				
			||||||
        output = [
 | 
					 | 
				
			||||||
          "eDP-1"
 | 
					 | 
				
			||||||
          "DP-1"
 | 
					 | 
				
			||||||
          "HDMI-A-1"
 | 
					 | 
				
			||||||
          "Virtual-1"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-left = [
 | 
					 | 
				
			||||||
          "hyprland/workspaces"
 | 
					 | 
				
			||||||
          "mpris"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-center = [
 | 
					 | 
				
			||||||
          "custom/weather"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        modules-right = [
 | 
					 | 
				
			||||||
          "network"
 | 
					 | 
				
			||||||
          "memory"
 | 
					 | 
				
			||||||
          "cpu"
 | 
					 | 
				
			||||||
          "clock"
 | 
					 | 
				
			||||||
        ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Widgets
 | 
					 | 
				
			||||||
        "sway/workspaces" = {
 | 
					 | 
				
			||||||
          disable-scroll = true;
 | 
					 | 
				
			||||||
          all-outputs = true;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        mpris = {
 | 
					 | 
				
			||||||
          format = "{player_icon} {dynamic}";
 | 
					 | 
				
			||||||
          format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
 | 
					 | 
				
			||||||
          max-length = 100;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          player-icons = {
 | 
					 | 
				
			||||||
            default = "⏸";
 | 
					 | 
				
			||||||
            mpv = "🎵";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          status-icons = {
 | 
					 | 
				
			||||||
            paused = "▶";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        "hyprland/workspaces" = {
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          format-icons = {
 | 
					 | 
				
			||||||
            default = "";
 | 
					 | 
				
			||||||
            active = "";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        network = {
 | 
					 | 
				
			||||||
          tooltip = true;
 | 
					 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
          rotate = 0;
 | 
					 | 
				
			||||||
          format-ethernet = " ";
 | 
					 | 
				
			||||||
          tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
					 | 
				
			||||||
          format-linked = " {ifname} (No IP)";
 | 
					 | 
				
			||||||
          format-disconnected = " ";
 | 
					 | 
				
			||||||
          tooltip-format-disconnected = "Disconnected";
 | 
					 | 
				
			||||||
          on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
					 | 
				
			||||||
          interval = 2;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        memory = {
 | 
					 | 
				
			||||||
          interval = 1;
 | 
					 | 
				
			||||||
          rotate = 270;
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
          max-length = 10;
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        cpu = {
 | 
					 | 
				
			||||||
          interval = 1;
 | 
					 | 
				
			||||||
          format = "{icon}";
 | 
					 | 
				
			||||||
          rotate = 270;
 | 
					 | 
				
			||||||
          format-icons = [
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
            ""
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        clock = {
 | 
					 | 
				
			||||||
          format = "{:%I:%M %p}";
 | 
					 | 
				
			||||||
          rotate = 0;
 | 
					 | 
				
			||||||
          on-click = "/usr/local/bin/ags -t ActivityCenter";
 | 
					 | 
				
			||||||
          tooltip-format = "<tt>{calendar}</tt>";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          calendar = {
 | 
					 | 
				
			||||||
            mode = "month";
 | 
					 | 
				
			||||||
            mode-mon-col = 3;
 | 
					 | 
				
			||||||
            on-scroll = 1;
 | 
					 | 
				
			||||||
            on-click-right = "mode";
 | 
					 | 
				
			||||||
            format = {
 | 
					 | 
				
			||||||
              months = "<span color='#ffead3'><b>{}</b></span>";
 | 
					 | 
				
			||||||
              weekdays = "<span color='#ffcc66'><b>{}</b></span>";
 | 
					 | 
				
			||||||
              today = "<span color='#ff6699'><b>{}</b></span>";
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
          actions = {
 | 
					 | 
				
			||||||
            on-click-right = "mode";
 | 
					 | 
				
			||||||
            on-click-forward = "tz_up";
 | 
					 | 
				
			||||||
            on-click-backward = "tz_down";
 | 
					 | 
				
			||||||
            on-scroll-up = "shift_up";
 | 
					 | 
				
			||||||
            on-scroll-down = "shift_down";
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Custom Widgets
 | 
					 | 
				
			||||||
        "custom/weather" = {
 | 
					 | 
				
			||||||
          exec = "python3 ~/.config/waybar/weather.py waybar";
 | 
					 | 
				
			||||||
          restart-interval = 900;
 | 
					 | 
				
			||||||
          return-type = "json";
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  home.file.".config/waybar" = {
 | 
					 | 
				
			||||||
    source = ./configs;
 | 
					 | 
				
			||||||
    # copy the scripts directory recursively
 | 
					 | 
				
			||||||
    recursive = true;
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										150
									
								
								home/hyprland/waybar/single.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								home/hyprland/waybar/single.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,150 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  enable = true;
 | 
				
			||||||
 | 
					  settings = {
 | 
				
			||||||
 | 
					    mainBar = {
 | 
				
			||||||
 | 
					      layer = "top";
 | 
				
			||||||
 | 
					      position = "top";
 | 
				
			||||||
 | 
					      height = 30;
 | 
				
			||||||
 | 
					      output = [
 | 
				
			||||||
 | 
					        "eDP-1"
 | 
				
			||||||
 | 
					        "DP-1"
 | 
				
			||||||
 | 
					        "HDMI-A-1"
 | 
				
			||||||
 | 
					        "Virtual-1"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-left = [
 | 
				
			||||||
 | 
					        "hyprland/workspaces"
 | 
				
			||||||
 | 
					        "mpris"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-center = [
 | 
				
			||||||
 | 
					        "custom/weather"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      modules-right = [
 | 
				
			||||||
 | 
					        "network"
 | 
				
			||||||
 | 
					        "memory"
 | 
				
			||||||
 | 
					        "cpu"
 | 
				
			||||||
 | 
					        "clock"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Widgets
 | 
				
			||||||
 | 
					      "sway/workspaces" = {
 | 
				
			||||||
 | 
					        disable-scroll = true;
 | 
				
			||||||
 | 
					        all-outputs = true;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      mpris = {
 | 
				
			||||||
 | 
					        format = "{player_icon} {dynamic}";
 | 
				
			||||||
 | 
					        format-paused = "<span color='grey'>{status_icon} {dynamic}</span>";
 | 
				
			||||||
 | 
					        max-length = 100;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        player-icons = {
 | 
				
			||||||
 | 
					          default = "⏸";
 | 
				
			||||||
 | 
					          mpv = "🎵";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        status-icons = {
 | 
				
			||||||
 | 
					          paused = "▶";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      "hyprland/workspaces" = {
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        format-icons = {
 | 
				
			||||||
 | 
					          default = "";
 | 
				
			||||||
 | 
					          active = "";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      network = {
 | 
				
			||||||
 | 
					        tooltip = true;
 | 
				
			||||||
 | 
					        format-wifi = "{icon} ";
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        rotate = 0;
 | 
				
			||||||
 | 
					        format-ethernet = " ";
 | 
				
			||||||
 | 
					        tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
				
			||||||
 | 
					        format-linked = " {ifname} (No IP)";
 | 
				
			||||||
 | 
					        format-disconnected = " ";
 | 
				
			||||||
 | 
					        tooltip-format-disconnected = "Disconnected";
 | 
				
			||||||
 | 
					        on-click = "/usr/local/bin/ags -t ControlPanel";
 | 
				
			||||||
 | 
					        interval = 2;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      memory = {
 | 
				
			||||||
 | 
					        interval = 1;
 | 
				
			||||||
 | 
					        rotate = 270;
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        max-length = 10;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      cpu = {
 | 
				
			||||||
 | 
					        interval = 1;
 | 
				
			||||||
 | 
					        format = "{icon}";
 | 
				
			||||||
 | 
					        rotate = 270;
 | 
				
			||||||
 | 
					        format-icons = [
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					          ""
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      clock = {
 | 
				
			||||||
 | 
					        format = "{:%I:%M %p}";
 | 
				
			||||||
 | 
					        rotate = 0;
 | 
				
			||||||
 | 
					        on-click = "/usr/local/bin/ags -t ActivityCenter";
 | 
				
			||||||
 | 
					        tooltip-format = "<tt>{calendar}</tt>";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        calendar = {
 | 
				
			||||||
 | 
					          mode = "month";
 | 
				
			||||||
 | 
					          mode-mon-col = 3;
 | 
				
			||||||
 | 
					          on-scroll = 1;
 | 
				
			||||||
 | 
					          on-click-right = "mode";
 | 
				
			||||||
 | 
					          format = {
 | 
				
			||||||
 | 
					            months = "<span color='#ffead3'><b>{}</b></span>";
 | 
				
			||||||
 | 
					            weekdays = "<span color='#ffcc66'><b>{}</b></span>";
 | 
				
			||||||
 | 
					            today = "<span color='#ff6699'><b>{}</b></span>";
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        actions = {
 | 
				
			||||||
 | 
					          on-click-right = "mode";
 | 
				
			||||||
 | 
					          on-click-forward = "tz_up";
 | 
				
			||||||
 | 
					          on-click-backward = "tz_down";
 | 
				
			||||||
 | 
					          on-scroll-up = "shift_up";
 | 
				
			||||||
 | 
					          on-scroll-down = "shift_down";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Custom Widgets
 | 
				
			||||||
 | 
					      "custom/weather" = {
 | 
				
			||||||
 | 
					        exec = "python3 ~/.config/waybar/weather.py waybar";
 | 
				
			||||||
 | 
					        restart-interval = 900;
 | 
				
			||||||
 | 
					        return-type = "json";
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
# your system.  Help is available in the configuration.nix(5) man page
 | 
					# your system.  Help is available in the configuration.nix(5) man page
 | 
				
			||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
					# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ config, pkgs, ... }:
 | 
					{ config, lib, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,9 +3,7 @@
 | 
				
			|||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
					# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  lib,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}:
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
# your system.  Help is available in the configuration.nix(5) man page
 | 
					# your system.  Help is available in the configuration.nix(5) man page
 | 
				
			||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
					# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ config, pkgs, ... }:
 | 
					{ lib, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@
 | 
				
			|||||||
      material-icons
 | 
					      material-icons
 | 
				
			||||||
      material-black-colors
 | 
					      material-black-colors
 | 
				
			||||||
      material-design-icons
 | 
					      material-design-icons
 | 
				
			||||||
 | 
					      icomoon-feather
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # normal fonts
 | 
					      # normal fonts
 | 
				
			||||||
      noto-fonts
 | 
					      noto-fonts
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,11 +8,17 @@
 | 
				
			|||||||
    geoclue2.enable = true;
 | 
					    geoclue2.enable = true;
 | 
				
			||||||
    xserver.enable = true;
 | 
					    xserver.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    udev.packages = with pkgs; [ pkgs.gnome-settings-daemon ];
 | 
					    udev.packages = with pkgs; [ gnome-settings-daemon ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Enable CUPS to print documents.
 | 
					    # Enable CUPS to print documents.
 | 
				
			||||||
    printing.enable = true;
 | 
					    printing.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    power-profiles-daemon.enable = true;
 | 
					    power-profiles-daemon.enable = true;
 | 
				
			||||||
 | 
					    logind.extraConfig = ''
 | 
				
			||||||
 | 
					              HandlePowerKey=ignore
 | 
				
			||||||
 | 
					            	HandleSuspendKey=ignore 
 | 
				
			||||||
 | 
					            	HandleHibernateKey=ignore
 | 
				
			||||||
 | 
					      		'';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,7 @@
 | 
				
			|||||||
{ pkgs, catppuccin, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  catppuccin,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  ##################################################################################################################
 | 
					  ##################################################################################################################
 | 
				
			||||||
  #
 | 
					  #
 | 
				
			||||||
@@ -11,8 +14,6 @@
 | 
				
			|||||||
    ../../home/xdg.nix # Bindings
 | 
					    ../../home/xdg.nix # Bindings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ../../home/hyprland # Window Manager
 | 
					    ../../home/hyprland # Window Manager
 | 
				
			||||||
    #    ../../home/themes/dark
 | 
					 | 
				
			||||||
    ../../home/hyprland/waybar/double-monitor.nix
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ../../home/programs/dev # Dev Tools
 | 
					    ../../home/programs/dev # Dev Tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -27,8 +28,6 @@
 | 
				
			|||||||
    ../../home/programs/productivity/obsidian.nix
 | 
					    ../../home/programs/productivity/obsidian.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ../../home/programs/social/element.nix
 | 
					    ../../home/programs/social/element.nix
 | 
				
			||||||
    #    ../../home/programs/social/webcord.nix
 | 
					 | 
				
			||||||
    #    ../../home/programs/social/nixcord.nix
 | 
					 | 
				
			||||||
    ../../home/programs/social/zapzap.nix
 | 
					    ../../home/programs/social/zapzap.nix
 | 
				
			||||||
    ../../home/programs/social/teamspeak.nix
 | 
					    ../../home/programs/social/teamspeak.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -38,12 +37,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    # Games
 | 
					    # Games
 | 
				
			||||||
    ../../home/programs/games/itch.nix
 | 
					    ../../home/programs/games/itch.nix
 | 
				
			||||||
    #    ../../home/programs/games/steam.nix
 | 
					 | 
				
			||||||
    ../../home/programs/games/lutris.nix
 | 
					    ../../home/programs/games/lutris.nix
 | 
				
			||||||
    ../../home/programs/games/opensource.nix
 | 
					    ../../home/programs/games/opensource.nix
 | 
				
			||||||
    ../../home/programs/games/airshipper.nix
 | 
					    ../../home/programs/games/airshipper.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    catppuccin.homeModules.catppuccin
 | 
					 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  catppuccin = {
 | 
					  catppuccin = {
 | 
				
			||||||
@@ -56,6 +53,4 @@
 | 
				
			|||||||
    userEmail = "p.keier@beyerstedt-it.de";
 | 
					    userEmail = "p.keier@beyerstedt-it.de";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.file.".config/hypr/hyprland.conf".enable = false;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										156
									
								
								wl-copy
									
									
									
									
									
								
							
							
						
						
									
										156
									
								
								wl-copy
									
									
									
									
									
								
							@@ -1,156 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  description = "NixOS configuration of DerGrumpf";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # the nixConfig here only affects the flake itself, not the system configuration!
 | 
					 | 
				
			||||||
  nixConfig = {
 | 
					 | 
				
			||||||
    extra-substituters = [
 | 
					 | 
				
			||||||
      "https://nix-community.cachix.org"
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
    extra-trusted-public-keys = [
 | 
					 | 
				
			||||||
      "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
 | 
					 | 
				
			||||||
    ];
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  inputs = {
 | 
					 | 
				
			||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
					 | 
				
			||||||
    hyprland.url = "github:hyprwm/Hyprland";
 | 
					 | 
				
			||||||
    spicetify-nix.url = "github:Gerg-L/spicetify-nix";
 | 
					 | 
				
			||||||
    nixcord.url = "github:kaylorben/nixcord";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    /*
 | 
					 | 
				
			||||||
      nixvim = {
 | 
					 | 
				
			||||||
          url = "github:nix-community/nixvim/nixos-24.11";
 | 
					 | 
				
			||||||
          inputs.nixpkgs.follows = "nixpkgs";
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    catppuccin.url = "github:catppuccin/nix";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    home-manager.url = "github:nix-community/home-manager/release-24.11";
 | 
					 | 
				
			||||||
    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    hyprland-plugins = {
 | 
					 | 
				
			||||||
      url = "github:hyprwm/hyprland-plugins";
 | 
					 | 
				
			||||||
      inputs.hyprland.follows = "hyprland";
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
  };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  outputs =
 | 
					 | 
				
			||||||
    inputs@{
 | 
					 | 
				
			||||||
      self,
 | 
					 | 
				
			||||||
      nixpkgs,
 | 
					 | 
				
			||||||
      home-manager,
 | 
					 | 
				
			||||||
      catppuccin,
 | 
					 | 
				
			||||||
      ...
 | 
					 | 
				
			||||||
    }:
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
					 | 
				
			||||||
      nixosConfigurations = {
 | 
					 | 
				
			||||||
        iso = nixpkgs.lib.nixosSystem {
 | 
					 | 
				
			||||||
          system = "x86_64-linux";
 | 
					 | 
				
			||||||
          modules = [
 | 
					 | 
				
			||||||
            (
 | 
					 | 
				
			||||||
              { pkgs, modulesPath, ... }:
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
 | 
					 | 
				
			||||||
                environment.systemPackages = with pkgs; [
 | 
					 | 
				
			||||||
                  neovim
 | 
					 | 
				
			||||||
                  git
 | 
					 | 
				
			||||||
                  wget
 | 
					 | 
				
			||||||
                  curl
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
                nix.settings.experimental-features = [
 | 
					 | 
				
			||||||
                  "nix-command"
 | 
					 | 
				
			||||||
                  "flakes"
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
          ];
 | 
					 | 
				
			||||||
        };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        m920q =
 | 
					 | 
				
			||||||
          let
 | 
					 | 
				
			||||||
            username = "phil";
 | 
					 | 
				
			||||||
            specialArgs = {
 | 
					 | 
				
			||||||
              inherit username;
 | 
					 | 
				
			||||||
              inherit inputs;
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
          in
 | 
					 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					 | 
				
			||||||
            inherit specialArgs;
 | 
					 | 
				
			||||||
            system = "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            modules = [
 | 
					 | 
				
			||||||
              ./hosts/m920q
 | 
					 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                home-manager.backupFileExtension = "backup";
 | 
					 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
                home-manager.sharedModules = [
 | 
					 | 
				
			||||||
                  inputs.nixcord.homeModules.nixcord
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                nix.settings.experimental-features = [
 | 
					 | 
				
			||||||
                  "nix-command"
 | 
					 | 
				
			||||||
                  "flakes"
 | 
					 | 
				
			||||||
                ];
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        qemu =
 | 
					 | 
				
			||||||
          let
 | 
					 | 
				
			||||||
            username = "phil";
 | 
					 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					 | 
				
			||||||
          in
 | 
					 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					 | 
				
			||||||
            inherit specialArgs;
 | 
					 | 
				
			||||||
            system = "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            modules = [
 | 
					 | 
				
			||||||
              ./hosts/qemu
 | 
					 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        hp15-n028sg =
 | 
					 | 
				
			||||||
          let
 | 
					 | 
				
			||||||
            username = "phil";
 | 
					 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					 | 
				
			||||||
          in
 | 
					 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					 | 
				
			||||||
            inherit specialArgs;
 | 
					 | 
				
			||||||
            system = "x86_64-linux";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            modules = [
 | 
					 | 
				
			||||||
              ./hosts/hp15-n028sg
 | 
					 | 
				
			||||||
              ./users/${username}/nixos.nix
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
              home-manager.nixosModules.home-manager
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                home-manager.useGlobalPkgs = true;
 | 
					 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ];
 | 
					 | 
				
			||||||
          };
 | 
					 | 
				
			||||||
      };
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user