Set Styling for rofi
This commit is contained in:
		
							
								
								
									
										90
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										90
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -67,6 +67,38 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-compat_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1733328505,
 | 
				
			||||||
 | 
					        "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
 | 
				
			||||||
 | 
					        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
 | 
				
			||||||
 | 
					        "revCount": 69,
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "type": "tarball",
 | 
				
			||||||
 | 
					        "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "flake-parts": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs-lib": "nixpkgs-lib"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1754091436,
 | 
				
			||||||
 | 
					        "narHash": "sha256-XKqDMN1/Qj1DKivQvscI4vmHfDfvYR2pfuFOJiCeewM=",
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "rev": "67df8c627c2c39c41dbec76a1f201929929ab0bd",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "hercules-ci",
 | 
				
			||||||
 | 
					        "repo": "flake-parts",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "gitignore": {
 | 
					    "gitignore": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": [
 | 
					        "nixpkgs": [
 | 
				
			||||||
@@ -399,6 +431,26 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nixcord": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "flake-compat": "flake-compat_2",
 | 
				
			||||||
 | 
					        "flake-parts": "flake-parts",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_3"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1755307498,
 | 
				
			||||||
 | 
					        "narHash": "sha256-6AXJWZnW/Y9qxlblabRx3NeMtfeMGicndefYEolzgtg=",
 | 
				
			||||||
 | 
					        "owner": "kaylorben",
 | 
				
			||||||
 | 
					        "repo": "nixcord",
 | 
				
			||||||
 | 
					        "rev": "a171d05a26467a74c66138ac83f1dd1fb07e4a3e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "kaylorben",
 | 
				
			||||||
 | 
					        "repo": "nixcord",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nixpkgs": {
 | 
					    "nixpkgs": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1743583204,
 | 
					        "lastModified": 1743583204,
 | 
				
			||||||
@@ -415,6 +467,21 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-lib": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1753579242,
 | 
				
			||||||
 | 
					        "narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs.lib",
 | 
				
			||||||
 | 
					        "rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs.lib",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "nixpkgs_2": {
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1742669843,
 | 
					        "lastModified": 1742669843,
 | 
				
			||||||
@@ -432,6 +499,22 @@
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_3": {
 | 
					    "nixpkgs_3": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1754028485,
 | 
				
			||||||
 | 
					        "narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "59e69648d345d6e8fef86158c555730fa12af9de",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixos-25.05",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_4": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1743576891,
 | 
					        "lastModified": 1743576891,
 | 
				
			||||||
        "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
 | 
					        "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
 | 
				
			||||||
@@ -447,7 +530,7 @@
 | 
				
			|||||||
        "type": "github"
 | 
					        "type": "github"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "nixpkgs_4": {
 | 
					    "nixpkgs_5": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1751984180,
 | 
					        "lastModified": 1751984180,
 | 
				
			||||||
        "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
 | 
					        "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
 | 
				
			||||||
@@ -492,13 +575,14 @@
 | 
				
			|||||||
        "home-manager": "home-manager",
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
        "hyprland": "hyprland",
 | 
					        "hyprland": "hyprland",
 | 
				
			||||||
        "hyprland-plugins": "hyprland-plugins",
 | 
					        "hyprland-plugins": "hyprland-plugins",
 | 
				
			||||||
        "nixpkgs": "nixpkgs_3",
 | 
					        "nixcord": "nixcord",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_4",
 | 
				
			||||||
        "spicetify-nix": "spicetify-nix"
 | 
					        "spicetify-nix": "spicetify-nix"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "spicetify-nix": {
 | 
					    "spicetify-nix": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
        "nixpkgs": "nixpkgs_4",
 | 
					        "nixpkgs": "nixpkgs_5",
 | 
				
			||||||
        "systems": "systems_2"
 | 
					        "systems": "systems_2"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										56
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								flake.nix
									
									
									
									
									
								
							@@ -1,17 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  description = "NixOS configuration of DerGrumpf";
 | 
					  description = "NixOS configuration of DerGrumpf";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ##################################################################################################################
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  # Want to know Nix in details? Looking for a beginner-friendly tutorial?
 | 
					 | 
				
			||||||
  # Check out https://github.com/ryan4yin/nixos-and-flakes-book !
 | 
					 | 
				
			||||||
  #
 | 
					 | 
				
			||||||
  ##################################################################################################################
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # the nixConfig here only affects the flake itself, not the system configuration!
 | 
					  # the nixConfig here only affects the flake itself, not the system configuration!
 | 
				
			||||||
  nixConfig = {
 | 
					  nixConfig = {
 | 
				
			||||||
    # substituers will be appended to the default substituters when fetching packages
 | 
					 | 
				
			||||||
    # nix com    extra-substituters = [munity's cache server
 | 
					 | 
				
			||||||
    extra-substituters = [
 | 
					    extra-substituters = [
 | 
				
			||||||
      "https://nix-community.cachix.org"
 | 
					      "https://nix-community.cachix.org"
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
@@ -24,11 +15,14 @@
 | 
				
			|||||||
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
					    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
 | 
				
			||||||
    hyprland.url = "github:hyprwm/Hyprland";
 | 
					    hyprland.url = "github:hyprwm/Hyprland";
 | 
				
			||||||
    spicetify-nix.url = "github:Gerg-L/spicetify-nix";
 | 
					    spicetify-nix.url = "github:Gerg-L/spicetify-nix";
 | 
				
			||||||
 | 
					    nixcord.url = "github:kaylorben/nixcord";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /*nixvim = {
 | 
					    /*
 | 
				
			||||||
 | 
					      nixvim = {
 | 
				
			||||||
          url = "github:nix-community/nixvim/nixos-24.11";
 | 
					          url = "github:nix-community/nixvim/nixos-24.11";
 | 
				
			||||||
          inputs.nixpkgs.follows = "nixpkgs";
 | 
					          inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };*/
 | 
					      };
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    catppuccin.url = "github:catppuccin/nix";
 | 
					    catppuccin.url = "github:catppuccin/nix";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -41,19 +35,23 @@
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  outputs = inputs @ {
 | 
					  outputs =
 | 
				
			||||||
 | 
					    inputs@{
 | 
				
			||||||
      self,
 | 
					      self,
 | 
				
			||||||
      nixpkgs,
 | 
					      nixpkgs,
 | 
				
			||||||
      home-manager,
 | 
					      home-manager,
 | 
				
			||||||
      catppuccin,
 | 
					      catppuccin,
 | 
				
			||||||
      ...
 | 
					      ...
 | 
				
			||||||
  }: {
 | 
					    }:
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
      packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
					      packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage;
 | 
				
			||||||
      nixosConfigurations = {
 | 
					      nixosConfigurations = {
 | 
				
			||||||
        iso = nixpkgs.lib.nixosSystem {
 | 
					        iso = nixpkgs.lib.nixosSystem {
 | 
				
			||||||
          system = "x86_64-linux";
 | 
					          system = "x86_64-linux";
 | 
				
			||||||
          modules = [
 | 
					          modules = [
 | 
				
			||||||
            ({ pkgs, modulesPath, ... }: {
 | 
					            (
 | 
				
			||||||
 | 
					              { pkgs, modulesPath, ... }:
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
                imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
 | 
					                imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
 | 
				
			||||||
                environment.systemPackages = with pkgs; [
 | 
					                environment.systemPackages = with pkgs; [
 | 
				
			||||||
                  neovim
 | 
					                  neovim
 | 
				
			||||||
@@ -61,14 +59,21 @@
 | 
				
			|||||||
                  wget
 | 
					                  wget
 | 
				
			||||||
                  curl
 | 
					                  curl
 | 
				
			||||||
                ];
 | 
					                ];
 | 
				
			||||||
                nix.settings.experimental-features = ["nix-command" "flakes"];
 | 
					                nix.settings.experimental-features = [
 | 
				
			||||||
             })
 | 
					                  "nix-command"
 | 
				
			||||||
 | 
					                  "flakes"
 | 
				
			||||||
 | 
					                ];
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      m920q = let
 | 
					        m920q =
 | 
				
			||||||
 | 
					          let
 | 
				
			||||||
            username = "phil";
 | 
					            username = "phil";
 | 
				
			||||||
        specialArgs = {inherit username;};
 | 
					            specialArgs = {
 | 
				
			||||||
 | 
					              inherit inputs username;
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
          in
 | 
					          in
 | 
				
			||||||
          nixpkgs.lib.nixosSystem {
 | 
					          nixpkgs.lib.nixosSystem {
 | 
				
			||||||
            inherit specialArgs;
 | 
					            inherit specialArgs;
 | 
				
			||||||
@@ -83,13 +88,23 @@
 | 
				
			|||||||
                home-manager.useGlobalPkgs = true;
 | 
					                home-manager.useGlobalPkgs = true;
 | 
				
			||||||
                home-manager.useUserPackages = true;
 | 
					                home-manager.useUserPackages = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                home-manager.backupFileExtension = "backup";
 | 
				
			||||||
                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
					                home-manager.extraSpecialArgs = inputs // specialArgs;
 | 
				
			||||||
                home-manager.users.${username} = import ./users/${username}/home.nix;
 | 
					                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
 | 
					        qemu =
 | 
				
			||||||
 | 
					          let
 | 
				
			||||||
            username = "phil";
 | 
					            username = "phil";
 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					            specialArgs = { inherit username; };
 | 
				
			||||||
          in
 | 
					          in
 | 
				
			||||||
@@ -112,7 +127,8 @@
 | 
				
			|||||||
            ];
 | 
					            ];
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      hp15-n028sg = let
 | 
					        hp15-n028sg =
 | 
				
			||||||
 | 
					          let
 | 
				
			||||||
            username = "phil";
 | 
					            username = "phil";
 | 
				
			||||||
            specialArgs = { inherit username; };
 | 
					            specialArgs = { inherit username; };
 | 
				
			||||||
          in
 | 
					          in
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
{username, ...}: {
 | 
					{ username, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  # Home Manager needs a bit of information about you and the
 | 
					  # Home Manager needs a bit of information about you and the
 | 
				
			||||||
  # paths it should manage.
 | 
					  # paths it should manage.
 | 
				
			||||||
  home = {
 | 
					  home = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,4 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					{ pkgs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,47 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  programs.alacritty = {
 | 
					  programs.alacritty = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
 | 
					    settings = {
 | 
				
			||||||
 | 
					      # Font
 | 
				
			||||||
 | 
					      font = {
 | 
				
			||||||
 | 
					        normal = {
 | 
				
			||||||
 | 
					          family = "FiraCode Nerd Font Mono"; # Change to your preferred Nerd Font
 | 
				
			||||||
 | 
					          style = "Regular";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        bold = {
 | 
				
			||||||
 | 
					          family = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					          style = "Bold";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        italic = {
 | 
				
			||||||
 | 
					          family = "FiraCode Nerd Font Mono";
 | 
				
			||||||
 | 
					          style = "Italic";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        size = 11;
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      window = {
 | 
				
			||||||
 | 
					        opacity = 0.6; # Adjust between 0.0 (fully transparent) and 1.0 (opaque)
 | 
				
			||||||
 | 
					        padding = {
 | 
				
			||||||
 | 
					          x = 10;
 | 
				
			||||||
 | 
					          y = 10;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					        decorations = "full"; # none, transparent, full, buttonless
 | 
				
			||||||
 | 
					        title = "Alacritty";
 | 
				
			||||||
 | 
					        dynamic_title = true;
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fonts = {
 | 
				
			||||||
 | 
					    fontconfig = {
 | 
				
			||||||
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      defaultFonts = {
 | 
				
			||||||
 | 
					        monospace = [ "FiraCode Nerd Font Mono" ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
 | 
					    fira-code-nerdfont
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
{ pkgs, ...}: {
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    ./kitty.nix # Terminal
 | 
					    ./kitty.nix # Terminal
 | 
				
			||||||
    ./alacritty.nix
 | 
					    ./alacritty.nix
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,7 +14,8 @@
 | 
				
			|||||||
        after_sleep_cmd = "hyprctl dispatch dpms on";
 | 
					        after_sleep_cmd = "hyprctl dispatch dpms on";
 | 
				
			||||||
        ignore_dbus_inhibit = false;
 | 
					        ignore_dbus_inhibit = false;
 | 
				
			||||||
        lock_cmd = "hyprlock";
 | 
					        lock_cmd = "hyprlock";
 | 
				
			||||||
		before_sleep_cmd = ''notify-send -u critical "Hey master, I’m getting sleepy… I’ll see you in my code dreams 💖" --icon
 | 
					        before_sleep_cmd = ''
 | 
				
			||||||
 | 
					          notify-send -u critical "Hey master, I’m getting sleepy… I’ll see you in my code dreams 💖" --icon
 | 
				
			||||||
          ="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
 | 
					          ="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
{ inputs, pkgs, ...}:
 | 
					{ pkgs, ... }:
 | 
				
			||||||
let
 | 
					let
 | 
				
			||||||
  package = pkgs.hyprland;
 | 
					  package = pkgs.hyprland;
 | 
				
			||||||
  super = "SUPER";
 | 
					  super = "SUPER";
 | 
				
			||||||
  terminal = "kitty";
 | 
					  terminal = "kitty";
 | 
				
			||||||
    fileManager = "spacefm";
 | 
					  fileManager = "yazi";
 | 
				
			||||||
    theme = "-theme $HOME/.config/rofi/catppuccin-default.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";
 | 
				
			||||||
@@ -148,7 +148,6 @@ in
 | 
				
			|||||||
      "ignorezero,rofi"
 | 
					      "ignorezero,rofi"
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
    dwindle = {
 | 
					    dwindle = {
 | 
				
			||||||
      # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
 | 
					      # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
 | 
				
			||||||
      pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
 | 
					      pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,5 +20,3 @@
 | 
				
			|||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, lib, ... }:
 | 
					{ lib, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  programs.kitty = lib.mkForce {
 | 
					  programs.kitty = lib.mkForce {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
@@ -9,14 +9,15 @@
 | 
				
			|||||||
      enable_audio_bell = false;
 | 
					      enable_audio_bell = false;
 | 
				
			||||||
      mouse_hide_wait = "-1.0";
 | 
					      mouse_hide_wait = "-1.0";
 | 
				
			||||||
      window_padding_width = 10;
 | 
					      window_padding_width = 10;
 | 
				
			||||||
        background_opacity = "0.5";
 | 
					      background_opacity = "0.8";
 | 
				
			||||||
      background_blur = 5;
 | 
					      background_blur = 5;
 | 
				
			||||||
      tab_bar_min_tabs = 1;
 | 
					      tab_bar_min_tabs = 1;
 | 
				
			||||||
      tab_bar_edge = "bottom";
 | 
					      tab_bar_edge = "bottom";
 | 
				
			||||||
      tab_bar_style = "powerline";
 | 
					      tab_bar_style = "powerline";
 | 
				
			||||||
      tab_powerline_style = "slanted";
 | 
					      tab_powerline_style = "slanted";
 | 
				
			||||||
      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
					      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
				
			||||||
        symbol_map = let
 | 
					      symbol_map =
 | 
				
			||||||
 | 
					        let
 | 
				
			||||||
          mappings = [
 | 
					          mappings = [
 | 
				
			||||||
            "U+23FB-U+23FE"
 | 
					            "U+23FB-U+23FE"
 | 
				
			||||||
            "U+2B58"
 | 
					            "U+2B58"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,6 +12,5 @@
 | 
				
			|||||||
      border-color=#a6e3a1
 | 
					      border-color=#a6e3a1
 | 
				
			||||||
    '';
 | 
					    '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								home/hyprland/rofi/configs/background.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								home/hyprland/rofi/configs/background.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 9.2 MiB  | 
							
								
								
									
										222
									
								
								home/hyprland/rofi/configs/custom.rasi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										222
									
								
								home/hyprland/rofi/configs/custom.rasi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,222 @@
 | 
				
			|||||||
 | 
					* {
 | 
				
			||||||
 | 
					  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 {
 | 
				
			||||||
 | 
					    show-icons: 				 true;
 | 
				
			||||||
 | 
					    modi:						 "window,drun,filebrowser";
 | 
				
			||||||
 | 
						display-drun:				 "Apps";
 | 
				
			||||||
 | 
						display-filebrowser:		 "Files";
 | 
				
			||||||
 | 
						display-run:				 "RUN";
 | 
				
			||||||
 | 
						display-window:				 "Active";
 | 
				
			||||||
 | 
						drun-display-format:		 "{name}";
 | 
				
			||||||
 | 
						window-format:				 "{w} · {c} · {t}";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Main Window */
 | 
				
			||||||
 | 
					window {
 | 
				
			||||||
 | 
					    /* properties for window widget */
 | 
				
			||||||
 | 
					    transparency:                "real";
 | 
				
			||||||
 | 
					    location:                    center;
 | 
				
			||||||
 | 
					    anchor:                      center;
 | 
				
			||||||
 | 
					    fullscreen:                  false;
 | 
				
			||||||
 | 
					    width:                       50%;
 | 
				
			||||||
 | 
						height:						 90%;
 | 
				
			||||||
 | 
					    x-offset:                    0px;
 | 
				
			||||||
 | 
					    y-offset:                    0px;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* properties for all widgets */
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    border-radius:               12px;
 | 
				
			||||||
 | 
					    cursor:                      "default";
 | 
				
			||||||
 | 
					    background-color:            @base;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Main Box */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					mainbox {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     0px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    orientation:                 horizontal;
 | 
				
			||||||
 | 
					    children:                    [ "imagebox", "listbox" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					imagebox {
 | 
				
			||||||
 | 
					    padding:                     20px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    background-image:            url("~/.config/rofi/background.png", height);
 | 
				
			||||||
 | 
					    orientation:                 vertical;
 | 
				
			||||||
 | 
					    children:                    [ "inputbar", "dummy", "mode-switcher" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					listbox {
 | 
				
			||||||
 | 
					    spacing:                     20px;
 | 
				
			||||||
 | 
					    padding:                     20px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    orientation:                 vertical;
 | 
				
			||||||
 | 
					    children:                    [ "message", "listview" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dummy {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Input */ 
 | 
				
			||||||
 | 
					inputbar {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     10px;
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border-radius:               10px;
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					    children:                    [ "textbox-prompt-colon", "entry" ];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					textbox-prompt-colon {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    expand:                      false;
 | 
				
			||||||
 | 
					    str:                         "";
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					entry {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    cursor:                      text;
 | 
				
			||||||
 | 
					    placeholder:                 "Search";
 | 
				
			||||||
 | 
					    placeholder-color:           inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Mode Switcher */
 | 
				
			||||||
 | 
					mode-switcher{
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     20px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					button {
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border-radius:               10px;
 | 
				
			||||||
 | 
					    background-color:            @base;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    cursor:                      pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					button selected {
 | 
				
			||||||
 | 
					    background-color:            @base;
 | 
				
			||||||
 | 
					    text-color:                  @pink;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Listview */
 | 
				
			||||||
 | 
					listview {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    columns:                     1;
 | 
				
			||||||
 | 
					    lines:                       8;
 | 
				
			||||||
 | 
					    cycle:                       true;
 | 
				
			||||||
 | 
					    dynamic:                     true;
 | 
				
			||||||
 | 
					    scrollbar:                   false;
 | 
				
			||||||
 | 
					    layout:                      vertical;
 | 
				
			||||||
 | 
					    reverse:                     false;
 | 
				
			||||||
 | 
					    fixed-height:                true;
 | 
				
			||||||
 | 
					    fixed-columns:               true;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    spacing:                     10px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  @text;
 | 
				
			||||||
 | 
					    cursor:                      "default";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Elements */ 
 | 
				
			||||||
 | 
					element {
 | 
				
			||||||
 | 
					    enabled:                     true;
 | 
				
			||||||
 | 
					    spacing:                     15px;
 | 
				
			||||||
 | 
					    padding:                     8px;
 | 
				
			||||||
 | 
					    border-radius:               10px;
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  @mauve;
 | 
				
			||||||
 | 
					    cursor:                      pointer;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element normal.normal {
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element normal.urgent {
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  @red;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element normal.active {
 | 
				
			||||||
 | 
					    background-color:            inherit;
 | 
				
			||||||
 | 
					    text-color:                  @blue;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					element selected.normal {
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @pink;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element selected.urgent {
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @maroon;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element selected.active {
 | 
				
			||||||
 | 
					    background-color:            @crust;
 | 
				
			||||||
 | 
					    text-color:                  @sky;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element-icon {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    size:                        32px;
 | 
				
			||||||
 | 
					    cursor:                      inherit;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					element-text {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					    text-color:                  inherit;
 | 
				
			||||||
 | 
					    cursor:                      inherit;
 | 
				
			||||||
 | 
					    vertical-align:              0.5;
 | 
				
			||||||
 | 
					    horizontal-align:            0.0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Message */
 | 
				
			||||||
 | 
					message {
 | 
				
			||||||
 | 
					    background-color:            transparent;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					textbox {
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border-radius:               10px;
 | 
				
			||||||
 | 
					    background-color:            @overlay0;
 | 
				
			||||||
 | 
					    text-color:                  @peach;
 | 
				
			||||||
 | 
					    vertical-align:              0.5;
 | 
				
			||||||
 | 
					    horizontal-align:            0.0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					error-message {
 | 
				
			||||||
 | 
					    padding:                     15px;
 | 
				
			||||||
 | 
					    border-radius:               20px;
 | 
				
			||||||
 | 
					    background-color:            @surface0;
 | 
				
			||||||
 | 
					    text-color:                  @red;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,16 +1,23 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    rofi-power-menu
 | 
					    rofi-power-menu
 | 
				
			||||||
 | 
					    rofi-calc
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs.rofi = {
 | 
					  programs.rofi = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    cycle = false;
 | 
					    cycle = false;
 | 
				
			||||||
    package = pkgs.rofi-wayland;
 | 
					    package = pkgs.rofi-wayland;
 | 
				
			||||||
 | 
					    font = "FiraCode Nerd Font Mono 12";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    location = "center";
 | 
				
			||||||
 | 
					    terminal = "${pkgs.kitty}/bin/kitty";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.file.".config/rofi" = {
 | 
					  home.file.".config/rofi" = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,11 +2,13 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.waybar = {
 | 
					  programs.waybar = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    package = pkgs.waybar;
 | 
					    package = pkgs.waybar;
 | 
				
			||||||
        /*settings = {
 | 
					    /*
 | 
				
			||||||
 | 
					      settings = {
 | 
				
			||||||
          mainBar = {
 | 
					          mainBar = {
 | 
				
			||||||
              layer = "top";
 | 
					              layer = "top";
 | 
				
			||||||
              position = "top";
 | 
					              position = "top";
 | 
				
			||||||
@@ -35,7 +37,8 @@
 | 
				
			|||||||
                  '';
 | 
					                  '';
 | 
				
			||||||
              };
 | 
					              };
 | 
				
			||||||
          };
 | 
					          };
 | 
				
			||||||
        };*/
 | 
					      };
 | 
				
			||||||
 | 
					    */
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  home.file.".config/waybar" = {
 | 
					  home.file.".config/waybar" = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
} : {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.waybar = {
 | 
					  programs.waybar = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    package = pkgs.waybar;
 | 
					    package = pkgs.waybar;
 | 
				
			||||||
@@ -59,7 +60,11 @@
 | 
				
			|||||||
        network = {
 | 
					        network = {
 | 
				
			||||||
          tooltip = true;
 | 
					          tooltip = true;
 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					          format-wifi = "{icon} ";
 | 
				
			||||||
                        format-icons = [""  ""  ""]; 
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
          rotate = 0;
 | 
					          rotate = 0;
 | 
				
			||||||
          format-ethernet = " ";
 | 
					          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>";
 | 
					          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>";
 | 
				
			||||||
@@ -74,7 +79,17 @@
 | 
				
			|||||||
          interval = 1;
 | 
					          interval = 1;
 | 
				
			||||||
          rotate = 270;
 | 
					          rotate = 270;
 | 
				
			||||||
          format = "{icon}";
 | 
					          format = "{icon}";
 | 
				
			||||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
          max-length = 10;
 | 
					          max-length = 10;
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -82,7 +97,17 @@
 | 
				
			|||||||
          interval = 1;
 | 
					          interval = 1;
 | 
				
			||||||
          format = "{icon}";
 | 
					          format = "{icon}";
 | 
				
			||||||
          rotate = 270;
 | 
					          rotate = 270;
 | 
				
			||||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        clock = {
 | 
					        clock = {
 | 
				
			||||||
@@ -150,7 +175,11 @@
 | 
				
			|||||||
        network = {
 | 
					        network = {
 | 
				
			||||||
          tooltip = true;
 | 
					          tooltip = true;
 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					          format-wifi = "{icon} ";
 | 
				
			||||||
                        format-icons = [""  ""  ""]; 
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
          rotate = 0;
 | 
					          rotate = 0;
 | 
				
			||||||
          format-ethernet = "{bandwidthTotalBits}  {bandwidthUpBits}  {bandwidthDownBits}   ";
 | 
					          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>";
 | 
					          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>";
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
} : {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.waybar = {
 | 
					  programs.waybar = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    package = pkgs.waybar;
 | 
					    package = pkgs.waybar;
 | 
				
			||||||
@@ -66,7 +67,11 @@
 | 
				
			|||||||
        network = {
 | 
					        network = {
 | 
				
			||||||
          tooltip = true;
 | 
					          tooltip = true;
 | 
				
			||||||
          format-wifi = "{icon} ";
 | 
					          format-wifi = "{icon} ";
 | 
				
			||||||
                        format-icons = [""  ""  ""]; 
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
          rotate = 0;
 | 
					          rotate = 0;
 | 
				
			||||||
          format-ethernet = " ";
 | 
					          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>";
 | 
					          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>";
 | 
				
			||||||
@@ -81,7 +86,17 @@
 | 
				
			|||||||
          interval = 1;
 | 
					          interval = 1;
 | 
				
			||||||
          rotate = 270;
 | 
					          rotate = 270;
 | 
				
			||||||
          format = "{icon}";
 | 
					          format = "{icon}";
 | 
				
			||||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
          max-length = 10;
 | 
					          max-length = 10;
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -89,7 +104,17 @@
 | 
				
			|||||||
          interval = 1;
 | 
					          interval = 1;
 | 
				
			||||||
          format = "{icon}";
 | 
					          format = "{icon}";
 | 
				
			||||||
          rotate = 270;
 | 
					          rotate = 270;
 | 
				
			||||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
					          format-icons = [
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					            ""
 | 
				
			||||||
 | 
					          ];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        clock = {
 | 
					        clock = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  catppuccin-bat,
 | 
					  catppuccin-bat,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,8 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  home.packages = [ pkgs.gh ];
 | 
					  home.packages = [ pkgs.gh ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs.git = {
 | 
					  programs.git = {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										268
									
								
								home/programs/dev/neovim/config.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								home/programs/dev/neovim/config.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,268 @@
 | 
				
			|||||||
 | 
					-- Basics
 | 
				
			||||||
 | 
					vim.g.mapleader = " "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Yank to system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "y", '"+y', { desc = "Yank to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "y", '"+y', { desc = "Yank to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "Y", '"+Y', { desc = "Yank line to clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Also make delete operations use system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "d", '"+d', { desc = "Delete to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "d", '"+d', { desc = "Delete to clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "D", '"+D', { desc = "Delete line to clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Paste from system clipboard
 | 
				
			||||||
 | 
					vim.keymap.set("n", "p", '"+p', { desc = "Paste from clipboard" })
 | 
				
			||||||
 | 
					vim.keymap.set("v", "p", '"+p', { desc = "Paste from clipboard" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Treesitter
 | 
				
			||||||
 | 
					require("nvim-treesitter.configs").setup({
 | 
				
			||||||
 | 
						ensure_installed = { "lua", "nix", "python", "javascript", "rust", "rasi" },
 | 
				
			||||||
 | 
						sync_install = false,
 | 
				
			||||||
 | 
						auto_install = true,
 | 
				
			||||||
 | 
						highlight = {
 | 
				
			||||||
 | 
							enable = true,
 | 
				
			||||||
 | 
							additional_vim_regex_highlighting = false,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						parser_install_dir = vim.fn.stdpath("data") .. "/treesitter",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					vim.opt.runtimepath:append(vim.fn.stdpath("data") .. "/treesitter")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Linting
 | 
				
			||||||
 | 
					require("lint").linters_by_ft = {}
 | 
				
			||||||
 | 
					vim.api.nvim_create_autocmd({ "BufWritePost" }, {
 | 
				
			||||||
 | 
						callback = function()
 | 
				
			||||||
 | 
							require("lint").try_lint()
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mason Setup
 | 
				
			||||||
 | 
					require("mason").setup({
 | 
				
			||||||
 | 
						ui = {
 | 
				
			||||||
 | 
							icons = {
 | 
				
			||||||
 | 
								package_installed = "✓",
 | 
				
			||||||
 | 
								package_pending = "➜",
 | 
				
			||||||
 | 
								package_uninstalled = "✗",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require("mason-lspconfig").setup({
 | 
				
			||||||
 | 
						ensure_installed = {
 | 
				
			||||||
 | 
							"lua_ls",
 | 
				
			||||||
 | 
							"nil_ls",
 | 
				
			||||||
 | 
							"rust_analyzer",
 | 
				
			||||||
 | 
							"pylsp",
 | 
				
			||||||
 | 
							"stylelint-lsp",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						automatic_installation = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- LSP Config
 | 
				
			||||||
 | 
					local cmp = require("cmp")
 | 
				
			||||||
 | 
					cmp.setup({
 | 
				
			||||||
 | 
						snippet = {
 | 
				
			||||||
 | 
							expand = function(args)
 | 
				
			||||||
 | 
								require("luasnip").lsp_expand(args.body)
 | 
				
			||||||
 | 
							end,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						mapping = cmp.mapping.preset.insert({
 | 
				
			||||||
 | 
							["<C-b>"] = cmp.mapping.scroll_docs(-4),
 | 
				
			||||||
 | 
							["<C-f>"] = cmp.mapping.scroll_docs(4),
 | 
				
			||||||
 | 
							["<C-Space>"] = cmp.mapping.complete(),
 | 
				
			||||||
 | 
							["<C-e>"] = cmp.mapping.abort(),
 | 
				
			||||||
 | 
							["<CR>"] = cmp.mapping.confirm({ select = true }),
 | 
				
			||||||
 | 
						}),
 | 
				
			||||||
 | 
						sources = cmp.config.sources({
 | 
				
			||||||
 | 
							{ name = "nvim_lsp" },
 | 
				
			||||||
 | 
							{ name = "luasnip" },
 | 
				
			||||||
 | 
						}, {
 | 
				
			||||||
 | 
							{ name = "buffer" },
 | 
				
			||||||
 | 
							{ name = "path" },
 | 
				
			||||||
 | 
						}),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local lspconfig = require("lspconfig")
 | 
				
			||||||
 | 
					local capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
				
			||||||
 | 
					vim.keymap.set("n", "gd", vim.lsp.buf.definition, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "K", vim.lsp.buf.hover, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, {})
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Setup language servers
 | 
				
			||||||
 | 
					lspconfig.lua_ls.setup({
 | 
				
			||||||
 | 
						capabilities = capabilities,
 | 
				
			||||||
 | 
						settings = {
 | 
				
			||||||
 | 
							Lua = {
 | 
				
			||||||
 | 
								runtime = { version = "LuaJIT" },
 | 
				
			||||||
 | 
								diagnostics = { globals = { "vim" } },
 | 
				
			||||||
 | 
								workspace = { library = vim.api.nvim_get_runtime_file("", true) },
 | 
				
			||||||
 | 
								telemetry = { enable = false },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					lspconfig.nil_ls.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.rust_analyzer.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.pylsp.setup({ capabilities = capabilities })
 | 
				
			||||||
 | 
					lspconfig.stylelint_lsp.setup({
 | 
				
			||||||
 | 
							cmd = { "stylelint-lsp", "--stdio" },
 | 
				
			||||||
 | 
							filetypes = { "css", "scss", "rasi" },
 | 
				
			||||||
 | 
							capabilities = vim.lsp.protocol.make_client_capabilities(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Conform
 | 
				
			||||||
 | 
					require("conform").setup({
 | 
				
			||||||
 | 
						formatters_by_ft = {
 | 
				
			||||||
 | 
							lua = { "stylua" },
 | 
				
			||||||
 | 
							nix = { "nixfmt" },
 | 
				
			||||||
 | 
							python = { "black" },
 | 
				
			||||||
 | 
							rust = { "rustfmt" },
 | 
				
			||||||
 | 
							rasi = { "prettierd" },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						format_on_save = {
 | 
				
			||||||
 | 
							timeout_ms = 500,
 | 
				
			||||||
 | 
							lsp_fallback = true,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Yazi
 | 
				
			||||||
 | 
					require("yazi").setup({
 | 
				
			||||||
 | 
						open_for_directories = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fy", function()
 | 
				
			||||||
 | 
						require("yazi").yazi(nil, vim.loop.cwd())
 | 
				
			||||||
 | 
					end, { desc = "Open Yazi file manager" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fd", function()
 | 
				
			||||||
 | 
						require("yazi").yazi(nil, vim.fn.expand("%:p:h"))
 | 
				
			||||||
 | 
					end, { desc = "Open Yazi in current file directory" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Telescope
 | 
				
			||||||
 | 
					require("telescope").setup()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local telescope = require("telescope.builtin")
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>ff", telescope.find_files, { desc = "Telescope find files" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fg", telescope.live_grep, { desc = "Telescope live grep" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fb", telescope.buffers, { desc = "Telescope buffers" })
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>fh", telescope.help_tags, { desc = "Telescope help tags" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Styling
 | 
				
			||||||
 | 
					require("catppuccin").setup({
 | 
				
			||||||
 | 
						flavour = "mocha",
 | 
				
			||||||
 | 
						transparent_background = true,
 | 
				
			||||||
 | 
						term_colors = true,
 | 
				
			||||||
 | 
						integration = {
 | 
				
			||||||
 | 
							treesitter = true,
 | 
				
			||||||
 | 
							mason = true,
 | 
				
			||||||
 | 
							lsp_trouble = true,
 | 
				
			||||||
 | 
							which_key = true,
 | 
				
			||||||
 | 
							cmp = true,
 | 
				
			||||||
 | 
							gitsigns = true,
 | 
				
			||||||
 | 
							telescope = true,
 | 
				
			||||||
 | 
							nvimtree = true,
 | 
				
			||||||
 | 
							dashboard = true,
 | 
				
			||||||
 | 
							notify = true,
 | 
				
			||||||
 | 
							indent_blankline = true,
 | 
				
			||||||
 | 
							toggleterm = true, -- Important for transparent terminals
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.cmd.colorscheme("catppuccin")
 | 
				
			||||||
 | 
					vim.opt.number = true
 | 
				
			||||||
 | 
					vim.opt.cursorline = true
 | 
				
			||||||
 | 
					vim.opt.showmode = false
 | 
				
			||||||
 | 
					vim.opt.syntax = "enable"
 | 
				
			||||||
 | 
					vim.opt.hlsearch = true
 | 
				
			||||||
 | 
					vim.opt.incsearch = true
 | 
				
			||||||
 | 
					vim.opt.tabstop = 4
 | 
				
			||||||
 | 
					vim.opt.termguicolors = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local colors = require("catppuccin.palettes").get_palette("mocha")
 | 
				
			||||||
 | 
					vim.api.nvim_set_hl(0, "LineNr", { fg = colors.text, bg = "NONE" })
 | 
				
			||||||
 | 
					vim.api.nvim_set_hl(0, "CursorLineNr", { fg = colors.pink, bg = "NONE", bold = true })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ToggleTerm setup
 | 
				
			||||||
 | 
					require("toggleterm").setup({
 | 
				
			||||||
 | 
						size = 20,
 | 
				
			||||||
 | 
						open_mapping = [[<c-\>]],
 | 
				
			||||||
 | 
						direction = "float",
 | 
				
			||||||
 | 
						float_opts = {
 | 
				
			||||||
 | 
							border = "single",
 | 
				
			||||||
 | 
							width = 200,
 | 
				
			||||||
 | 
							height = 40,
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>h", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(1, 10, vim.loop.cwd(), "horizontal")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (horizontal)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>v", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(2, 60, vim.loop.cwd(), "vertical")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (vertical)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("n", "<leader>ft", function()
 | 
				
			||||||
 | 
						require("toggleterm").toggle(3, 20, vim.loop.cwd(), "float")
 | 
				
			||||||
 | 
					end, { desc = "Toggle terminal (float)" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.keymap.set("t", "<C-t>", "<Cmd>ToggleTerm<CR>", { desc = "Toggle terminal" })
 | 
				
			||||||
 | 
					vim.keymap.set("t", "<C-v>", "<C-\\><C-n>v", { desc = "Exit terminal and enter visual mode" })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Statusline
 | 
				
			||||||
 | 
					require("lualine").setup({
 | 
				
			||||||
 | 
						options = {
 | 
				
			||||||
 | 
							theme = "catppuccin",
 | 
				
			||||||
 | 
							component_separators = { left = "|", right = "|" },
 | 
				
			||||||
 | 
							section_separators = { left = "", right = "" },
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Dashboard
 | 
				
			||||||
 | 
					local alpha = require("alpha")
 | 
				
			||||||
 | 
					local dashboard = require("alpha.themes.dashboard")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.header.val = {
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣯⣿⠿⣟⣷⣯⣛⢿⣿⣿⣾⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣿⣿⡿⣵⣿⡿⣴⣽⡟⣳⢿⢽⣽⣕⣽⢿⡿⣿⣟⣿⣿⣿⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣷⣿⣿⢟⣫⣿⢟⢟⣾⣾⣿⣿⣞⢳⣻⢞⣎⠿⢞⣊⣿⣞⣿⣿⣿⣿⣿⢽",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⣿⣏⢯⣿⣏⣏⠔⢇⣿⢢⢆⢀⢆⣧⣼⢻⢰⡧⢻⣝⣏⡸⣧⣾⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⡟⣻⣿⣿⡾⡿⡼⢸⡝⣝⡳⢢⣧⢳⣳⢷⡇⣗⢺⡺⣿⡧⣿⣿⣿⢿⢿",
 | 
				
			||||||
 | 
						"⣿⡿⣿⣼⡼⣿⣿⡗⡧⣧⠁⡝⣧⣳⠅⡾⠈⣎⢮⣧⣿⣿⣗⣷⣻⢷⣏⣼⢏⣺⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣻⣿⣿⣿⢧⣿⢹⠉⢷⢿⣧⣲⡏⡀⡈⢆⠳⣿⡿⢿⣿⣱⢿⢫⣷⣝⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⡯⡟⣿⣿⢽⣡⠟⢿⣮⠁⠙⠛⠈⡴⢿⣿⡷⣬⣽⢽⠧⣷⡏⣿⡇⣧⣽⣿",
 | 
				
			||||||
 | 
						"⣿⠟⢻⡧⡇⣿⡇⣇⣆⢄⡜⢃⡀⡀⡀⡀⡀⢎⣁⠁⣸⣗⣸⣿⣧⣼⡿⢹⢿⢾⣿",
 | 
				
			||||||
 | 
						"⣿⣷⣾⣿⢻⣿⢧⢻⣽⡀⡀⡀⡀⢄⡀⡀⡀⡀⡀⢀⣷⡸⡟⣿⣶⣻⣧⡛⡱⢝⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⢸⡿⢚⡜⣿⣇⡀⡀⡀⡀⡀⡀⡀⡀⠚⢁⢣⣜⡿⣿⡇⢼⣿⠨⣸⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣄⣿⣗⢾⢻⣧⢿⣾⣿⣦⡀⡀⠑⠚⠉⡀⡀⣤⣿⢨⣿⠗⣻⢣⣿⢹⢈⣽⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⢎⡄⢿⣞⡇⣿⠹⣿⣶⣀⡀⣀⡴⡩⢸⢏⣿⣿⣶⢻⣾⢏⡞⠡⢽⣇⣾",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣮⣼⢬⣦⢿⣳⣌⠧⡉⠈⣇⣛⣁⣈⣼⣿⡸⠫⠛⠐⠛⠕⣙⣻⣬⣼⣿⣿",
 | 
				
			||||||
 | 
						"⢟⢿⣿⣿⣿⡢⣃⣪⣭⣡⣤⣶⠟⡿⠿⠿⠿⠛⢁⣿⣿⢩⠉⡀⠈⠓⡝⣿⣿⣿⣿",
 | 
				
			||||||
 | 
						"⣾⣿⣿⣿⣿⠞⢔⡣⡴⣾⣿⠓⣤⢧⡼⣉⠠⢤⣿⣿⠇⠃⡀⡀⡀⡀⡸⢿⣾⣿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⡿⣺⡸⢗⢠⣇⣿⣿⠊⠃⡀⠉⡀⢠⣿⣿⠟⡸⡀⡀⡀⡀⡀⣃⣬⠽⠿⣿",
 | 
				
			||||||
 | 
						"⣿⣿⣿⣿⡇⡏⢸⣿⠟⣽⡇⡀⡀⡀⡀⣴⣟⢭⣾⣿⡇⠎⣠⠒⠉⠈⢀⡀⢨⡋⣿",
 | 
				
			||||||
 | 
						"⠛⠛⠛⠋⠃⠓⠚⠛⠘⠛⠃⡀⠊⡀⠛⠛⠛⠂⠛⠛⠓⠁⠚⡀⠂⠒⠒⠐⠒⠋⠛",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.buttons.val = {
 | 
				
			||||||
 | 
						dashboard.button("e", "[+] New file", ":ene <BAR> startinsert <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("f", "[?] Find file", ":Telescope find_files <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("r", "[~] Recent files", ":Telescope oldfiles <CR>"),
 | 
				
			||||||
 | 
						dashboard.button("y", "[Y] Yazi", ":Yazi<CR>"),
 | 
				
			||||||
 | 
						dashboard.button("m", "[M] Mason", ":Mason<CR>"),
 | 
				
			||||||
 | 
						dashboard.button("q", "[X] Quit", ":qa<CR>"),
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dashboard.section.footer.val = "Circuits hum in anticipation of your will."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					vim.api.nvim_create_autocmd("VimEnter", {
 | 
				
			||||||
 | 
						callback = function()
 | 
				
			||||||
 | 
							if vim.fn.argc() == 0 then
 | 
				
			||||||
 | 
								require("alpha").start()
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
						end,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alpha.setup(dashboard.config)
 | 
				
			||||||
@@ -1,37 +0,0 @@
 | 
				
			|||||||
vim.g.base46_cache = vim.fn.stdpath "data" .. "/base46/"
 | 
					 | 
				
			||||||
vim.g.mapleader = " "
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- bootstrap lazy and all plugins
 | 
					 | 
				
			||||||
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if not vim.uv.fs_stat(lazypath) then
 | 
					 | 
				
			||||||
  local repo = "https://github.com/folke/lazy.nvim.git"
 | 
					 | 
				
			||||||
  vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
vim.opt.rtp:prepend(lazypath)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local lazy_config = require "configs.lazy"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- load plugins
 | 
					 | 
				
			||||||
require("lazy").setup({
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "NvChad/NvChad",
 | 
					 | 
				
			||||||
    lazy = false,
 | 
					 | 
				
			||||||
    branch = "v2.5",
 | 
					 | 
				
			||||||
    import = "nvchad.plugins",
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  { import = "plugins" },
 | 
					 | 
				
			||||||
}, lazy_config)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- load theme
 | 
					 | 
				
			||||||
dofile(vim.g.base46_cache .. "defaults")
 | 
					 | 
				
			||||||
dofile(vim.g.base46_cache .. "statusline")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
require "options"
 | 
					 | 
				
			||||||
require "nvchad.autocmds"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
vim.schedule(function()
 | 
					 | 
				
			||||||
  require "mappings"
 | 
					 | 
				
			||||||
end)
 | 
					 | 
				
			||||||
@@ -1,34 +0,0 @@
 | 
				
			|||||||
{
 | 
					 | 
				
			||||||
  "LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
 | 
					 | 
				
			||||||
  "NvChad": { "branch": "v2.5", "commit": "6f25b2739684389ca69ea8229386c098c566c408" },
 | 
					 | 
				
			||||||
  "base46": { "branch": "v3.0", "commit": "59566882e09a8a77dbdb33b678a93680c36ae089" },
 | 
					 | 
				
			||||||
  "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
 | 
					 | 
				
			||||||
  "cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
 | 
					 | 
				
			||||||
  "cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
 | 
					 | 
				
			||||||
  "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
 | 
					 | 
				
			||||||
  "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
 | 
					 | 
				
			||||||
  "conform.nvim": { "branch": "master", "commit": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d" },
 | 
					 | 
				
			||||||
  "friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
 | 
					 | 
				
			||||||
  "fzf.vim": { "branch": "master", "commit": "245eaf8e50fe440729056ce8d4e7e2bb5b1ff9c9" },
 | 
					 | 
				
			||||||
  "gitsigns.nvim": { "branch": "main", "commit": "4c40357994f386e72be92a46f41fc1664c84c87d" },
 | 
					 | 
				
			||||||
  "indent-blankline.nvim": { "branch": "master", "commit": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78" },
 | 
					 | 
				
			||||||
  "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
 | 
					 | 
				
			||||||
  "mason-conform.nvim": { "branch": "main", "commit": "1983f353b29d8716751665c18d57e1ac0473a59a" },
 | 
					 | 
				
			||||||
  "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
 | 
					 | 
				
			||||||
  "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
 | 
					 | 
				
			||||||
  "menu": { "branch": "main", "commit": "7769b17c2a131108c02b10e9f844e504aa605cc2" },
 | 
					 | 
				
			||||||
  "minty": { "branch": "main", "commit": "aafc9e8e0afe6bf57580858a2849578d8d8db9e0" },
 | 
					 | 
				
			||||||
  "nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
 | 
					 | 
				
			||||||
  "nvim-cmp": { "branch": "main", "commit": "c27370703e798666486e3064b64d59eaf4bdc6d5" },
 | 
					 | 
				
			||||||
  "nvim-lint": { "branch": "master", "commit": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8" },
 | 
					 | 
				
			||||||
  "nvim-lspconfig": { "branch": "master", "commit": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0" },
 | 
					 | 
				
			||||||
  "nvim-tree.lua": { "branch": "master", "commit": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4" },
 | 
					 | 
				
			||||||
  "nvim-treesitter": { "branch": "master", "commit": "1a314a58d6d7695d226b56f6b61b1596993d5ac7" },
 | 
					 | 
				
			||||||
  "nvim-web-devicons": { "branch": "master", "commit": "ab4cfee554e501f497bce0856788d43cf2eb93d7" },
 | 
					 | 
				
			||||||
  "openscad.nvim": { "branch": "main", "commit": "58baf76fd2f9e2fe2ca83ea120d56084edb8871e" },
 | 
					 | 
				
			||||||
  "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
 | 
					 | 
				
			||||||
  "telescope.nvim": { "branch": "master", "commit": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4" },
 | 
					 | 
				
			||||||
  "ui": { "branch": "v3.0", "commit": "57d403c219353b1f8e4cd635d058fbfcd9d647ea" },
 | 
					 | 
				
			||||||
  "volt": { "branch": "main", "commit": "21a2351697abfed26d4469b88d3ab124d55a1b3f" },
 | 
					 | 
				
			||||||
  "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,24 +0,0 @@
 | 
				
			|||||||
-- This file needs to have same structure as nvconfig.lua
 | 
					 | 
				
			||||||
-- https://github.com/NvChad/ui/blob/v3.0/lua/nvconfig.lua
 | 
					 | 
				
			||||||
-- Please read that file to know all available options :(
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---@type ChadrcConfig
 | 
					 | 
				
			||||||
local M = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
M.base46 = {
 | 
					 | 
				
			||||||
    theme = "radium",
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    -- hl_override = {
 | 
					 | 
				
			||||||
    -- 	Comment = { italic = true },
 | 
					 | 
				
			||||||
    -- 	["@comment"] = { italic = true },
 | 
					 | 
				
			||||||
    -- },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- M.nvdash = { load_on_startup = true }
 | 
					 | 
				
			||||||
-- M.ui = {
 | 
					 | 
				
			||||||
--       tabufline = {
 | 
					 | 
				
			||||||
--          lazyload = false
 | 
					 | 
				
			||||||
--      }
 | 
					 | 
				
			||||||
--}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
return M
 | 
					 | 
				
			||||||
@@ -1,15 +0,0 @@
 | 
				
			|||||||
local options = {
 | 
					 | 
				
			||||||
    formatters_by_ft = {
 | 
					 | 
				
			||||||
        lua = { "stylua" },
 | 
					 | 
				
			||||||
        -- css = { "prettier" },
 | 
					 | 
				
			||||||
        -- html = { "prettier" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    format_on_save = {
 | 
					 | 
				
			||||||
        -- These options will be passed to conform.format()
 | 
					 | 
				
			||||||
        timeout_ms = 500,
 | 
					 | 
				
			||||||
        lsp_fallback = true,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
return options
 | 
					 | 
				
			||||||
@@ -1,47 +0,0 @@
 | 
				
			|||||||
return {
 | 
					 | 
				
			||||||
  defaults = { lazy = true },
 | 
					 | 
				
			||||||
  install = { colorscheme = { "nvchad" } },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  ui = {
 | 
					 | 
				
			||||||
    icons = {
 | 
					 | 
				
			||||||
      ft = "",
 | 
					 | 
				
			||||||
      lazy = " ",
 | 
					 | 
				
			||||||
      loaded = "",
 | 
					 | 
				
			||||||
      not_loaded = "",
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  performance = {
 | 
					 | 
				
			||||||
    rtp = {
 | 
					 | 
				
			||||||
      disabled_plugins = {
 | 
					 | 
				
			||||||
        "2html_plugin",
 | 
					 | 
				
			||||||
        "tohtml",
 | 
					 | 
				
			||||||
        "getscript",
 | 
					 | 
				
			||||||
        "getscriptPlugin",
 | 
					 | 
				
			||||||
        "gzip",
 | 
					 | 
				
			||||||
        "logipat",
 | 
					 | 
				
			||||||
        "netrw",
 | 
					 | 
				
			||||||
        "netrwPlugin",
 | 
					 | 
				
			||||||
        "netrwSettings",
 | 
					 | 
				
			||||||
        "netrwFileHandlers",
 | 
					 | 
				
			||||||
        "matchit",
 | 
					 | 
				
			||||||
        "tar",
 | 
					 | 
				
			||||||
        "tarPlugin",
 | 
					 | 
				
			||||||
        "rrhelper",
 | 
					 | 
				
			||||||
        "spellfile_plugin",
 | 
					 | 
				
			||||||
        "vimball",
 | 
					 | 
				
			||||||
        "vimballPlugin",
 | 
					 | 
				
			||||||
        "zip",
 | 
					 | 
				
			||||||
        "zipPlugin",
 | 
					 | 
				
			||||||
        "tutor",
 | 
					 | 
				
			||||||
        "rplugin",
 | 
					 | 
				
			||||||
        "syntax",
 | 
					 | 
				
			||||||
        "synmenu",
 | 
					 | 
				
			||||||
        "optwin",
 | 
					 | 
				
			||||||
        "compiler",
 | 
					 | 
				
			||||||
        "bugreport",
 | 
					 | 
				
			||||||
        "ftplugin",
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
local lint = require("lint")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
lint.linters_by_ft = {
 | 
					 | 
				
			||||||
    lua = { "luacheck" },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
lint.linters.luacheck.args = {
 | 
					 | 
				
			||||||
    "--globals",
 | 
					 | 
				
			||||||
    "vim",
 | 
					 | 
				
			||||||
    "--formatter",
 | 
					 | 
				
			||||||
    "plain",
 | 
					 | 
				
			||||||
    "--codes",
 | 
					 | 
				
			||||||
    "--ranges",
 | 
					 | 
				
			||||||
    "-",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
 | 
					 | 
				
			||||||
    callback = function()
 | 
					 | 
				
			||||||
        lint.try_lint()
 | 
					 | 
				
			||||||
    end,
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,57 +0,0 @@
 | 
				
			|||||||
-- load defaults i.e lua_lsp
 | 
					 | 
				
			||||||
local on_attach = require("nvchad.configs.lspconfig").on_attach
 | 
					 | 
				
			||||||
local on_init = require("nvchad.configs.lspconfig").on_init
 | 
					 | 
				
			||||||
local capabilities = require("nvchad.configs.lspconfig").capabilities
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local lspconfig = require("lspconfig")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- List of all servers configured
 | 
					 | 
				
			||||||
lspconfig.servers = {
 | 
					 | 
				
			||||||
    "lua_ls",
 | 
					 | 
				
			||||||
    "templ",
 | 
					 | 
				
			||||||
    "jedi_language_server",
 | 
					 | 
				
			||||||
    --    "gopls",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- List of servers configured with default config
 | 
					 | 
				
			||||||
local default_servers = {
 | 
					 | 
				
			||||||
    "templ",
 | 
					 | 
				
			||||||
    --    "gopls",
 | 
					 | 
				
			||||||
    "jedi_language_server",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- lsps with default config
 | 
					 | 
				
			||||||
for _, lsp in ipairs(default_servers) do
 | 
					 | 
				
			||||||
    lspconfig[lsp].setup({
 | 
					 | 
				
			||||||
        on_attach = on_attach,
 | 
					 | 
				
			||||||
        on_init = on_init,
 | 
					 | 
				
			||||||
        capabilities = capabilities,
 | 
					 | 
				
			||||||
    })
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- Lua LSP
 | 
					 | 
				
			||||||
lspconfig.lua_ls.setup({
 | 
					 | 
				
			||||||
    on_attach = on_attach,
 | 
					 | 
				
			||||||
    on_init = on_init,
 | 
					 | 
				
			||||||
    capabilities = capabilities,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    settings = {
 | 
					 | 
				
			||||||
        Lua = {
 | 
					 | 
				
			||||||
            diagnostics = {
 | 
					 | 
				
			||||||
                enable = false, -- Disable all diagnostics from lua_ls
 | 
					 | 
				
			||||||
                -- globals = { "vim" }
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
            workspace = {
 | 
					 | 
				
			||||||
                library = {
 | 
					 | 
				
			||||||
                    vim.fn.expand("$VIMRUNTIME/lua"),
 | 
					 | 
				
			||||||
                    vim.fn.expand("$VIMRUNTIME/lua/vim/lsp"),
 | 
					 | 
				
			||||||
                    vim.fn.stdpath("data") .. "/lazy/ui/nvchad_types",
 | 
					 | 
				
			||||||
                    vim.fn.stdpath("data") .. "/lazy/lazy.nvim/lua/lazy",
 | 
					 | 
				
			||||||
                    --"${3rd}/love2d/library",
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                maxPreload = 100000,
 | 
					 | 
				
			||||||
                preloadFileSize = 10000,
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,4 +0,0 @@
 | 
				
			|||||||
require("mason-conform").setup({
 | 
					 | 
				
			||||||
    -- List of formatters to ignore during install
 | 
					 | 
				
			||||||
    ignore_install = {},
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,26 +0,0 @@
 | 
				
			|||||||
local lint = package.loaded["lint"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local ignore_install = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local function table_contains(table, value)
 | 
					 | 
				
			||||||
    for _, v in ipairs(table) do
 | 
					 | 
				
			||||||
        if v == value then
 | 
					 | 
				
			||||||
            return true
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
    return false
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local all_linters = {}
 | 
					 | 
				
			||||||
for _, v in pairs(lint.linters_by_ft) do
 | 
					 | 
				
			||||||
    for _, linter in ipairs(v) do
 | 
					 | 
				
			||||||
        if not table_contains(ignore_install, linter) then
 | 
					 | 
				
			||||||
            table.insert(all_linters, linter)
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
require("mason-nvim-lint").setup({
 | 
					 | 
				
			||||||
    ensure_installed = all_linters,
 | 
					 | 
				
			||||||
    automatic_installation = false,
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,24 +0,0 @@
 | 
				
			|||||||
local lspconfig = package.loaded["lspconfig"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local ignore_install = {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local function table_contains(table, value)
 | 
					 | 
				
			||||||
    for _, v in ipairs(table) do
 | 
					 | 
				
			||||||
        if v == value then
 | 
					 | 
				
			||||||
            return true
 | 
					 | 
				
			||||||
        end
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
    return false
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local all_servers = {}
 | 
					 | 
				
			||||||
for _, s in ipairs(lspconfig.servers) do
 | 
					 | 
				
			||||||
    if not table_contains(ignore_install, s) then
 | 
					 | 
				
			||||||
        table.insert(all_servers, s)
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
require("mason-lspconfig").setup({
 | 
					 | 
				
			||||||
    ensure_installed = all_servers,
 | 
					 | 
				
			||||||
    automatic_installation = false,
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
@@ -1,26 +0,0 @@
 | 
				
			|||||||
local options = {
 | 
					 | 
				
			||||||
    ensure_installed = {
 | 
					 | 
				
			||||||
        "bash",
 | 
					 | 
				
			||||||
        "fish",
 | 
					 | 
				
			||||||
        "lua",
 | 
					 | 
				
			||||||
        "luadoc",
 | 
					 | 
				
			||||||
        "markdown",
 | 
					 | 
				
			||||||
        "printf",
 | 
					 | 
				
			||||||
        "toml",
 | 
					 | 
				
			||||||
        "vim",
 | 
					 | 
				
			||||||
        "vimdoc",
 | 
					 | 
				
			||||||
        "yaml",
 | 
					 | 
				
			||||||
        -- Languages
 | 
					 | 
				
			||||||
        "python",
 | 
					 | 
				
			||||||
        "templ",
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    highlight = {
 | 
					 | 
				
			||||||
        enable = true,
 | 
					 | 
				
			||||||
        use_languagetree = true,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    indent = { enable = true },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
require("nvim-treesitter.configs").setup(options)
 | 
					 | 
				
			||||||
@@ -1,10 +0,0 @@
 | 
				
			|||||||
require "nvchad.mappings"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- add yours here
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
local map = vim.keymap.set
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
map("n", ";", ":", { desc = "CMD enter command mode" })
 | 
					 | 
				
			||||||
map("i", "jk", "<ESC>")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- map({ "n", "i", "v" }, "<C-s>", "<cmd> w <cr>")
 | 
					 | 
				
			||||||
@@ -1,7 +0,0 @@
 | 
				
			|||||||
require("nvchad.options")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
-- add yours here!
 | 
					 | 
				
			||||||
local o = vim.o
 | 
					 | 
				
			||||||
o.shiftwidth = 4
 | 
					 | 
				
			||||||
o.tabstop = 4
 | 
					 | 
				
			||||||
o.softtabstop = 4
 | 
					 | 
				
			||||||
@@ -1,70 +0,0 @@
 | 
				
			|||||||
return {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "nvim-treesitter/nvim-treesitter",
 | 
					 | 
				
			||||||
        event = { "BufReadPre", "BufNewFile" },
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            require("configs.treesitter")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "mfussenegger/nvim-lint",
 | 
					 | 
				
			||||||
        event = { "BufReadPre", "BufNewFile" },
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            require("configs.lint")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    -- {
 | 
					 | 
				
			||||||
    --     "rshkarin/mason-nvim-lint",
 | 
					 | 
				
			||||||
    --     event = "VeryLazy",
 | 
					 | 
				
			||||||
    --     config = function()
 | 
					 | 
				
			||||||
    --         require("config.mason-lint")
 | 
					 | 
				
			||||||
    --     end,
 | 
					 | 
				
			||||||
    -- },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "stevearc/conform.nvim",
 | 
					 | 
				
			||||||
        event = "BufWritePre", -- uncomment for format on save
 | 
					 | 
				
			||||||
        opts = require("configs.conform"),
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "zapling/mason-conform.nvim",
 | 
					 | 
				
			||||||
        event = "VeryLazy",
 | 
					 | 
				
			||||||
        dependencies = { "conform.nvim" },
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            require("configs.mason-conform")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "neovim/nvim-lspconfig",
 | 
					 | 
				
			||||||
        event = { "BufReadPre", "BufNewFile" },
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            require("nvchad.configs.lspconfig").defaults()
 | 
					 | 
				
			||||||
            require("configs.lspconfig")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "williamboman/mason-lspconfig.nvim",
 | 
					 | 
				
			||||||
        event = "VeryLazy",
 | 
					 | 
				
			||||||
        dependencies = { "nvim-lspconfig" },
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            require("configs.mason-lspconfig")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        "salkin-mada/openscad.nvim",
 | 
					 | 
				
			||||||
        config = function()
 | 
					 | 
				
			||||||
            vim.g.openscad_load_snippets = true
 | 
					 | 
				
			||||||
            vim.g.openscad_default_mappings = true
 | 
					 | 
				
			||||||
            vim.g.openscad_auto_open = true
 | 
					 | 
				
			||||||
            require("openscad")
 | 
					 | 
				
			||||||
        end,
 | 
					 | 
				
			||||||
        dependencies = { "L3MON4D3/LuaSnip", "junegunn/fzf.vim" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
@@ -1,17 +1,72 @@
 | 
				
			|||||||
{ pkgs, ... }: {
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.neovim = {
 | 
					  programs.neovim = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    viAlias = true;
 | 
					    viAlias = true;
 | 
				
			||||||
    vimAlias = true;
 | 
					    vimAlias = true;
 | 
				
			||||||
    defaultEditor = true;
 | 
					    defaultEditor = true;
 | 
				
			||||||
        /*plugins = with pkgs.vimPlugins; [
 | 
					    #extraPackages = with pkgs; [ ];
 | 
				
			||||||
            nvim-tree-lua
 | 
					
 | 
				
			||||||
            nvim-treesitter.withAllGrammars
 | 
					    plugins = with pkgs.vimPlugins; [
 | 
				
			||||||
        ];*/
 | 
					      nvim-treesitter
 | 
				
			||||||
 | 
					      nvim-lint
 | 
				
			||||||
 | 
					      catppuccin-nvim
 | 
				
			||||||
 | 
					      mason-nvim
 | 
				
			||||||
 | 
					      mason-lspconfig-nvim
 | 
				
			||||||
 | 
					      nvim-lspconfig
 | 
				
			||||||
 | 
					      nvim-cmp
 | 
				
			||||||
 | 
					      cmp-nvim-lsp
 | 
				
			||||||
 | 
					      cmp-buffer
 | 
				
			||||||
 | 
					      cmp-path
 | 
				
			||||||
 | 
					      cmp-cmdline
 | 
				
			||||||
 | 
					      luasnip
 | 
				
			||||||
 | 
					      lualine-nvim
 | 
				
			||||||
 | 
					      yazi-nvim
 | 
				
			||||||
 | 
					      alpha-nvim
 | 
				
			||||||
 | 
					      cheatsheet-nvim
 | 
				
			||||||
 | 
					      toggleterm-nvim
 | 
				
			||||||
 | 
					      avante-nvim # AI Stuff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Add conform.nvim as a custom plugin
 | 
				
			||||||
 | 
					      (pkgs.vimUtils.buildVimPlugin {
 | 
				
			||||||
 | 
					        name = "conform-nvim";
 | 
				
			||||||
 | 
					        src = pkgs.fetchFromGitHub {
 | 
				
			||||||
 | 
					          owner = "stevearc";
 | 
				
			||||||
 | 
					          repo = "conform.nvim";
 | 
				
			||||||
 | 
					          rev = "stable";
 | 
				
			||||||
 | 
					          sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs=";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Add telescope.vim as a custom plugin
 | 
				
			||||||
 | 
					      (pkgs.vimUtils.buildVimPlugin {
 | 
				
			||||||
 | 
					        name = "telescope-nvim";
 | 
				
			||||||
 | 
					        src = pkgs.fetchFromGitHub {
 | 
				
			||||||
 | 
					          owner = "nvim-telescope";
 | 
				
			||||||
 | 
					          repo = "telescope.nvim";
 | 
				
			||||||
 | 
					          rev = "0.1.8";
 | 
				
			||||||
 | 
					          sha256 = "sha256-e1ulhc4IIvUgpjKQrSqPY4WpXuez6wlxL6Min9U0o5Q=";
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    extraLuaConfig = builtins.readFile (./. + "/config.lua");
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    home.file.".config/nvim" = {
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
	source = ./configs;
 | 
					    nixfmt-rfc-style
 | 
				
			||||||
	recursive = true;
 | 
					    stylua
 | 
				
			||||||
    };
 | 
					    black
 | 
				
			||||||
 | 
					    nodePackages.prettier
 | 
				
			||||||
 | 
					    rustfmt
 | 
				
			||||||
 | 
					    nodejs
 | 
				
			||||||
 | 
					    prettierd
 | 
				
			||||||
 | 
					    stylelint-lsp
 | 
				
			||||||
 | 
					    # Mason Binarys
 | 
				
			||||||
 | 
					    lua-language-server
 | 
				
			||||||
 | 
					    nil
 | 
				
			||||||
 | 
					    rust-analyzer
 | 
				
			||||||
 | 
					    python3Packages.python-lsp-server
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    itch
 | 
					    itch
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    lutris
 | 
					    lutris
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    xonotic
 | 
					    xonotic
 | 
				
			||||||
    #    armagetron
 | 
					    #    armagetron
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,10 +2,13 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
    /*home.packages = with pkgs; [
 | 
					{
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					    home.packages = with pkgs; [
 | 
				
			||||||
        steam
 | 
					        steam
 | 
				
			||||||
    ];*/
 | 
					    ];
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
  programs.steam = {
 | 
					  programs.steam = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    remotePlay.openFirewall = true;
 | 
					    remotePlay.openFirewall = true;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{ pkgs, inputs } :
 | 
					{ pkgs, inputs, ... }:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
    inputs.spicetify-nix.homeManagerModules.default
 | 
					    inputs.spicetify-nix.homeManagerModules.default
 | 
				
			||||||
@@ -10,6 +10,30 @@
 | 
				
			|||||||
    in
 | 
					    in
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
 | 
					      spotifyPackage = pkgs.spotify;
 | 
				
			||||||
      theme = spicePkgs.themes.catppuccin;
 | 
					      theme = spicePkgs.themes.catppuccin;
 | 
				
			||||||
    }
 | 
					      colorScheme = "mocha";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      enabledExtensions = with spicePkgs.extensions; [
 | 
				
			||||||
 | 
					        bookmark
 | 
				
			||||||
 | 
					        fullAppDisplay
 | 
				
			||||||
 | 
					        keyboardShortcut
 | 
				
			||||||
 | 
					        popupLyrics
 | 
				
			||||||
 | 
					        shuffle
 | 
				
			||||||
 | 
					        autoVolume
 | 
				
			||||||
 | 
					        betterGenres
 | 
				
			||||||
 | 
					        adblock
 | 
				
			||||||
 | 
					        wikify
 | 
				
			||||||
 | 
					        songStats
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      enabledCustomApps = with spicePkgs.apps; [
 | 
				
			||||||
 | 
					        lyricsPlus
 | 
				
			||||||
 | 
					        newReleases
 | 
				
			||||||
 | 
					        marketplace
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      #enabledSnippets = with spicePkgs.snippets; [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										50
									
								
								home/programs/social/nixcord.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								home/programs/social/nixcord.nix
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# home.nix
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  # ...
 | 
				
			||||||
 | 
					  programs.nixcord = {
 | 
				
			||||||
 | 
					    enable = true; # Enable Nixcord (It also installs Discord)
 | 
				
			||||||
 | 
					    vesktop.enable = true; # Vesktop
 | 
				
			||||||
 | 
					    dorion.enable = true; # Dorion
 | 
				
			||||||
 | 
					    quickCss = "some CSS"; # quickCSS file
 | 
				
			||||||
 | 
					    config = {
 | 
				
			||||||
 | 
					      useQuickCss = true; # use out quickCSS
 | 
				
			||||||
 | 
					      themeLinks = [
 | 
				
			||||||
 | 
					        # or use an online theme
 | 
				
			||||||
 | 
					        "https://raw.githubusercontent.com/link/to/some/theme.css"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      frameless = true; # Set some Vencord options
 | 
				
			||||||
 | 
					      plugins = {
 | 
				
			||||||
 | 
					        hideAttachments.enable = true; # Enable a Vencord plugin
 | 
				
			||||||
 | 
					        ignoreActivities = {
 | 
				
			||||||
 | 
					          # Enable a plugin and set some options
 | 
				
			||||||
 | 
					          enable = true;
 | 
				
			||||||
 | 
					          ignorePlaying = true;
 | 
				
			||||||
 | 
					          ignoreWatching = true;
 | 
				
			||||||
 | 
					          ignoredActivities = [ "someActivity" ];
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    dorion = {
 | 
				
			||||||
 | 
					      theme = "dark";
 | 
				
			||||||
 | 
					      zoom = "1.1";
 | 
				
			||||||
 | 
					      blur = "acrylic"; # "none", "blur", or "acrylic"
 | 
				
			||||||
 | 
					      sysTray = true;
 | 
				
			||||||
 | 
					      openOnStartup = true;
 | 
				
			||||||
 | 
					      autoClearCache = true;
 | 
				
			||||||
 | 
					      disableHardwareAccel = false;
 | 
				
			||||||
 | 
					      rpcServer = true;
 | 
				
			||||||
 | 
					      rpcProcessScanner = true;
 | 
				
			||||||
 | 
					      pushToTalk = true;
 | 
				
			||||||
 | 
					      pushToTalkKeys = [ "RControl" ];
 | 
				
			||||||
 | 
					      desktopNotifications = true;
 | 
				
			||||||
 | 
					      unreadBadge = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    extraConfig = {
 | 
				
			||||||
 | 
					      # Some extra JSON config here
 | 
				
			||||||
 | 
					      # ...
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					  # ...
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,8 +1,9 @@
 | 
				
			|||||||
{ pkgs, ... }:
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  # Install Element Desktop
 | 
					  # Install Teamspeak Desktop
 | 
				
			||||||
  home.packages = with pkgs; [
 | 
					  home.packages = with pkgs; [
 | 
				
			||||||
    teamspeak3
 | 
					    teamspeak3
 | 
				
			||||||
 | 
					    #    teamspeak6-client
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,8 @@
 | 
				
			|||||||
  pkgs,
 | 
					  pkgs,
 | 
				
			||||||
  config,
 | 
					  config,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.chromium = {
 | 
					  programs.chromium = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
 | 
					    commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,9 +3,10 @@
 | 
				
			|||||||
  config,
 | 
					  config,
 | 
				
			||||||
  username,
 | 
					  username,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.firefox = {
 | 
					  programs.firefox = {
 | 
				
			||||||
        enable = true;
 | 
					    enable = false;
 | 
				
			||||||
    profiles.${username} = { };
 | 
					    profiles.${username} = { };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,9 +3,11 @@
 | 
				
			|||||||
  config,
 | 
					  config,
 | 
				
			||||||
  username,
 | 
					  username,
 | 
				
			||||||
  ...
 | 
					  ...
 | 
				
			||||||
}: {
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  programs.floorp = {
 | 
					  programs.floorp = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    profiles.${username} = { };
 | 
					    profiles.${username} = { };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								home/xdg.nix
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								home/xdg.nix
									
									
									
									
									
								
							@@ -1,5 +1,6 @@
 | 
				
			|||||||
{pkgs, config, ...}: let
 | 
					{ pkgs, config, ... }:
 | 
				
			||||||
  browser = ["firefox.desktop"];
 | 
					let
 | 
				
			||||||
 | 
					  browser = [ "floorp.desktop" ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # XDG MIME types
 | 
					  # XDG MIME types
 | 
				
			||||||
  associations = {
 | 
					  associations = {
 | 
				
			||||||
@@ -19,14 +20,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    "audio/*" = [ "mpv.desktop" ];
 | 
					    "audio/*" = [ "mpv.desktop" ];
 | 
				
			||||||
    "video/*" = [ "mpv.dekstop" ];
 | 
					    "video/*" = [ "mpv.dekstop" ];
 | 
				
			||||||
    "image/*" = ["imv.desktop"];
 | 
					    "image/*" = [ "kitty-icat.desktop" ];
 | 
				
			||||||
    "application/json" = browser;
 | 
					    "application/json" = browser;
 | 
				
			||||||
    "application/pdf" = ["org.pwmt.zathura.desktop.desktop"];
 | 
					    "application/pdf" = [ "okular.desktop" ];
 | 
				
			||||||
    "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
 | 
					    "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
 | 
				
			||||||
    "x-scheme-handler/spotify" = [ "spotify.desktop" ];
 | 
					    "x-scheme-handler/spotify" = [ "spotify.desktop" ];
 | 
				
			||||||
    "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ];
 | 
					    "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
in {
 | 
					in
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  xdg = {
 | 
					  xdg = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    cacheHome = config.home.homeDirectory + "/.local/cache";
 | 
					    cacheHome = config.home.homeDirectory + "/.local/cache";
 | 
				
			||||||
@@ -36,6 +38,20 @@ in {
 | 
				
			|||||||
      defaultApplications = associations;
 | 
					      defaultApplications = associations;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    desktopEntries = {
 | 
				
			||||||
 | 
					      kitty-icat = {
 | 
				
			||||||
 | 
					        name = "Kitty Icat";
 | 
				
			||||||
 | 
					        exec = "kitty +kitten icat %F";
 | 
				
			||||||
 | 
					        terminal = true;
 | 
				
			||||||
 | 
					        type = "Application";
 | 
				
			||||||
 | 
					        mimeType = [ "image/*" ];
 | 
				
			||||||
 | 
					        categories = [
 | 
				
			||||||
 | 
					          "Viewer"
 | 
				
			||||||
 | 
					          "Graphics"
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    userDirs = {
 | 
					    userDirs = {
 | 
				
			||||||
      enable = true;
 | 
					      enable = true;
 | 
				
			||||||
      createDirectories = true;
 | 
					      createDirectories = true;
 | 
				
			||||||
@@ -49,8 +65,12 @@ in {
 | 
				
			|||||||
      xdgOpenUsePortal = true;
 | 
					      xdgOpenUsePortal = true;
 | 
				
			||||||
      config = {
 | 
					      config = {
 | 
				
			||||||
        common.default = [ "gtk" ];
 | 
					        common.default = [ "gtk" ];
 | 
				
			||||||
		hyprland.default = [ "gtk" "hyprland" ];
 | 
					        hyprland.default = [
 | 
				
			||||||
 | 
					          "gtk"
 | 
				
			||||||
 | 
					          "hyprland"
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      extraPortals = [
 | 
					      extraPortals = [
 | 
				
			||||||
        pkgs.xdg-desktop-portal-gtk
 | 
					        pkgs.xdg-desktop-portal-gtk
 | 
				
			||||||
        pkgs.xdg-desktop-portal-hyprland
 | 
					        pkgs.xdg-desktop-portal-hyprland
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -74,5 +74,3 @@
 | 
				
			|||||||
  system.stateVersion = "25.11"; # Did you read the comment?
 | 
					  system.stateVersion = "25.11"; # Did you read the comment?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +1,43 @@
 | 
				
			|||||||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
					# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
				
			||||||
# and may be overwritten by future invocations.  Please make changes
 | 
					# and may be overwritten by future invocations.  Please make changes
 | 
				
			||||||
# to /etc/nixos/configuration.nix instead.
 | 
					# to /etc/nixos/configuration.nix instead.
 | 
				
			||||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  modulesPath,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports = [
 | 
				
			||||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
					    (modulesPath + "/installer/scan/not-detected.nix")
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" ];
 | 
					  boot.initrd.availableKernelModules = [
 | 
				
			||||||
 | 
					    "xhci_pci"
 | 
				
			||||||
 | 
					    "ehci_pci"
 | 
				
			||||||
 | 
					    "ahci"
 | 
				
			||||||
 | 
					    "usb_storage"
 | 
				
			||||||
 | 
					    "sd_mod"
 | 
				
			||||||
 | 
					    "sr_mod"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
  boot.initrd.kernelModules = [ ];
 | 
					  boot.initrd.kernelModules = [ ];
 | 
				
			||||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
					  boot.kernelModules = [ "kvm-intel" ];
 | 
				
			||||||
  boot.extraModulePackages = [ ];
 | 
					  boot.extraModulePackages = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems."/" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
					    device = "/dev/disk/by-label/NIXROOT";
 | 
				
			||||||
    fsType = "ext4";
 | 
					    fsType = "ext4";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/boot" =
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
					    device = "/dev/disk/by-label/NIXBOOT";
 | 
				
			||||||
    fsType = "vfat";
 | 
					    fsType = "vfat";
 | 
				
			||||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
					    options = [
 | 
				
			||||||
 | 
					      "fmask=0022"
 | 
				
			||||||
 | 
					      "dmask=0022"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  swapDevices = [ ];
 | 
					  swapDevices = [ ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,11 +2,16 @@
 | 
				
			|||||||
# your system. Help is available in the configuration.nix(5) man page, on
 | 
					# your system. Help is available in the configuration.nix(5) man page, on
 | 
				
			||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
 | 
					# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{ config, lib, pkgs, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports = [
 | 
				
			||||||
    [ # Include the results of the hardware scan.
 | 
					    # Include the results of the hardware scan.
 | 
				
			||||||
    ./hardware-configuration.nix
 | 
					    ./hardware-configuration.nix
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -37,9 +42,6 @@
 | 
				
			|||||||
  # Enable the X11 windowing system.
 | 
					  # Enable the X11 windowing system.
 | 
				
			||||||
  # services.xserver.enable = true;
 | 
					  # services.xserver.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  # Configure keymap in X11
 | 
					  # Configure keymap in X11
 | 
				
			||||||
  services.xserver.xkb.layout = "de";
 | 
					  services.xserver.xkb.layout = "de";
 | 
				
			||||||
  # services.xserver.xkb.options = "eurosign:e,caps:escape";
 | 
					  # services.xserver.xkb.options = "eurosign:e,caps:escape";
 | 
				
			||||||
@@ -125,4 +127,3 @@
 | 
				
			|||||||
  system.stateVersion = "24.11"; # Did you read the comment?
 | 
					  system.stateVersion = "24.11"; # Did you read the comment?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,12 @@
 | 
				
			|||||||
# 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, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports = [
 | 
					  imports = [
 | 
				
			||||||
@@ -40,10 +45,12 @@
 | 
				
			|||||||
    #useDHCP = lib.mkForce true;
 | 
					    #useDHCP = lib.mkForce true;
 | 
				
			||||||
    #dhcpcd.enable = true;
 | 
					    #dhcpcd.enable = true;
 | 
				
			||||||
    interfaces = {
 | 
					    interfaces = {
 | 
				
			||||||
		eno1.ipv4.addresses = [{
 | 
					      eno1.ipv4.addresses = [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
          address = "192.168.2.40";
 | 
					          address = "192.168.2.40";
 | 
				
			||||||
          prefixLength = 24;
 | 
					          prefixLength = 24;
 | 
				
			||||||
		}];
 | 
					        }
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    defaultGateway = {
 | 
					    defaultGateway = {
 | 
				
			||||||
@@ -65,5 +72,3 @@
 | 
				
			|||||||
  environment.systemPackages = [ pkgs.onlyoffice-bin ];
 | 
					  environment.systemPackages = [ pkgs.onlyoffice-bin ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,34 +1,53 @@
 | 
				
			|||||||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
					# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
				
			||||||
# and may be overwritten by future invocations.  Please make changes
 | 
					# and may be overwritten by future invocations.  Please make changes
 | 
				
			||||||
# to /etc/nixos/configuration.nix instead.
 | 
					# to /etc/nixos/configuration.nix instead.
 | 
				
			||||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  modulesPath,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports = [
 | 
				
			||||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
					    (modulesPath + "/installer/scan/not-detected.nix")
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
 | 
					  boot.initrd.availableKernelModules = [
 | 
				
			||||||
 | 
					    "xhci_pci"
 | 
				
			||||||
 | 
					    "ahci"
 | 
				
			||||||
 | 
					    "nvme"
 | 
				
			||||||
 | 
					    "usbhid"
 | 
				
			||||||
 | 
					    "usb_storage"
 | 
				
			||||||
 | 
					    "sd_mod"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
  boot.initrd.kernelModules = [ ];
 | 
					  boot.initrd.kernelModules = [ ];
 | 
				
			||||||
  boot.kernelModules = [ "kvm-intel" "v4l2loopback"];
 | 
					  boot.kernelModules = [
 | 
				
			||||||
 | 
					    "kvm-intel"
 | 
				
			||||||
 | 
					    "v4l2loopback"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
  boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
 | 
					  boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
 | 
				
			||||||
  boot.extraModprobeConfig = ''
 | 
					  boot.extraModprobeConfig = ''
 | 
				
			||||||
    options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
 | 
					    options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
 | 
				
			||||||
  '';
 | 
					  '';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems."/" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
					    device = "/dev/disk/by-label/NIXROOT";
 | 
				
			||||||
    fsType = "ext4";
 | 
					    fsType = "ext4";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/boot" =
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
					    device = "/dev/disk/by-label/NIXBOOT";
 | 
				
			||||||
    fsType = "vfat";
 | 
					    fsType = "vfat";
 | 
				
			||||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
					    options = [
 | 
				
			||||||
 | 
					      "fmask=0022"
 | 
				
			||||||
 | 
					      "dmask=0022"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/storage" = 
 | 
					  fileSystems."/storage" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/STORAGE";
 | 
					    device = "/dev/disk/by-label/STORAGE";
 | 
				
			||||||
    fsType = "ext4";
 | 
					    fsType = "ext4";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -40,5 +40,3 @@
 | 
				
			|||||||
  system.stateVersion = "25.11"; # Did you read the comment?
 | 
					  system.stateVersion = "25.11"; # Did you read the comment?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +1,41 @@
 | 
				
			|||||||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
					# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
				
			||||||
# and may be overwritten by future invocations.  Please make changes
 | 
					# and may be overwritten by future invocations.  Please make changes
 | 
				
			||||||
# to /etc/nixos/configuration.nix instead.
 | 
					# to /etc/nixos/configuration.nix instead.
 | 
				
			||||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
					{
 | 
				
			||||||
 | 
					  config,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  modulesPath,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  imports =
 | 
					  imports = [
 | 
				
			||||||
    [ (modulesPath + "/profiles/qemu-guest.nix")
 | 
					    (modulesPath + "/profiles/qemu-guest.nix")
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  boot.initrd.availableKernelModules = [ "ata_piix" "floppy" "sd_mod" "sr_mod" ];
 | 
					  boot.initrd.availableKernelModules = [
 | 
				
			||||||
 | 
					    "ata_piix"
 | 
				
			||||||
 | 
					    "floppy"
 | 
				
			||||||
 | 
					    "sd_mod"
 | 
				
			||||||
 | 
					    "sr_mod"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
  boot.initrd.kernelModules = [ ];
 | 
					  boot.initrd.kernelModules = [ ];
 | 
				
			||||||
  boot.kernelModules = [ "kvm-intel" ];
 | 
					  boot.kernelModules = [ "kvm-intel" ];
 | 
				
			||||||
  boot.extraModulePackages = [ ];
 | 
					  boot.extraModulePackages = [ ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/" =
 | 
					  fileSystems."/" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
					    device = "/dev/disk/by-label/NIXROOT";
 | 
				
			||||||
    fsType = "ext4";
 | 
					    fsType = "ext4";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  fileSystems."/boot" =
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
					    device = "/dev/disk/by-label/NIXBOOT";
 | 
				
			||||||
    fsType = "vfat";
 | 
					    fsType = "vfat";
 | 
				
			||||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
					    options = [
 | 
				
			||||||
 | 
					      "fmask=0022"
 | 
				
			||||||
 | 
					      "dmask=0022"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  swapDevices = [ ];
 | 
					  swapDevices = [ ];
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,9 @@
 | 
				
			|||||||
      General = {
 | 
					      General = {
 | 
				
			||||||
        Enable = "Source,Sink,Media,Socket";
 | 
					        Enable = "Source,Sink,Media,Socket";
 | 
				
			||||||
        Experimental = true;
 | 
					        Experimental = true;
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.blueman.enable = true; # Graphical Manager
 | 
					  services.blueman.enable = true; # Graphical Manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -17,5 +17,5 @@
 | 
				
			|||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
    package = pkgs.pulseaudioFull;
 | 
					    package = pkgs.pulseaudioFull;
 | 
				
			||||||
    extraModules = [ pkgs.pulseaudio-modules-bt ];
 | 
					    extraModules = [ pkgs.pulseaudio-modules-bt ];
 | 
				
			||||||
    }
 | 
					  };
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,11 +22,13 @@
 | 
				
			|||||||
    oci-containers = {
 | 
					    oci-containers = {
 | 
				
			||||||
      backend = "docker";
 | 
					      backend = "docker";
 | 
				
			||||||
      containers = {
 | 
					      containers = {
 | 
				
			||||||
                /*container-name = {
 | 
					        /*
 | 
				
			||||||
 | 
					          container-name = {
 | 
				
			||||||
              image = "image";
 | 
					              image = "image";
 | 
				
			||||||
              autoStart = true;
 | 
					              autoStart = true;
 | 
				
			||||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
					              ports = [ "127.0.0.1:1234:1234" ];
 | 
				
			||||||
                };*/
 | 
					          };
 | 
				
			||||||
 | 
					        */
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,9 +21,18 @@
 | 
				
			|||||||
    # the reason there's Noto Color Emoji everywhere is to override DejaVu's
 | 
					    # the reason there's Noto Color Emoji everywhere is to override DejaVu's
 | 
				
			||||||
    # B&W emojis that would sometimes show instead of some Color emojis
 | 
					    # B&W emojis that would sometimes show instead of some Color emojis
 | 
				
			||||||
    fontconfig.defaultFonts = {
 | 
					    fontconfig.defaultFonts = {
 | 
				
			||||||
          serif = ["Noto Serif" "Noto Color Emoji"];
 | 
					      serif = [
 | 
				
			||||||
          sansSerif = ["Noto Sans" "Noto Color Emoji"];
 | 
					        "Noto Serif"
 | 
				
			||||||
          monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"];
 | 
					        "Noto Color Emoji"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      sansSerif = [
 | 
				
			||||||
 | 
					        "Noto Sans"
 | 
				
			||||||
 | 
					        "Noto Color Emoji"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
 | 
					      monospace = [
 | 
				
			||||||
 | 
					        "JetBrainsMono Nerd Font"
 | 
				
			||||||
 | 
					        "Noto Color Emoji"
 | 
				
			||||||
 | 
					      ];
 | 
				
			||||||
      emoji = [ "Noto Color Emoji" ];
 | 
					      emoji = [ "Noto Color Emoji" ];
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,9 @@
 | 
				
			|||||||
{ pkgs, username, lib, ... }: 
 | 
					{
 | 
				
			||||||
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  username,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  # given the users in this list the right to specify additional substituters via:
 | 
					  # given the users in this list the right to specify additional substituters via:
 | 
				
			||||||
  #    1. `nixConfig.substituers` in `flake.nix`
 | 
					  #    1. `nixConfig.substituers` in `flake.nix`
 | 
				
			||||||
@@ -8,7 +13,10 @@
 | 
				
			|||||||
  # customise /etc/nix/nix.conf declaratively via `nix.settings`
 | 
					  # customise /etc/nix/nix.conf declaratively via `nix.settings`
 | 
				
			||||||
  nix.settings = {
 | 
					  nix.settings = {
 | 
				
			||||||
    # enable flakes globally
 | 
					    # enable flakes globally
 | 
				
			||||||
        experimental-features = ["nix-command" "flakes"];
 | 
					    experimental-features = [
 | 
				
			||||||
 | 
					      "nix-command"
 | 
				
			||||||
 | 
					      "flakes"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
    auto-optimise-store = true;
 | 
					    auto-optimise-store = true;
 | 
				
			||||||
    substituters = [
 | 
					    substituters = [
 | 
				
			||||||
      "https://cache.nixos.org"
 | 
					      "https://cache.nixos.org"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
{ pkgs, ... }: {
 | 
					{ pkgs, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  boot = {
 | 
					  boot = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    plymouth = {
 | 
					    plymouth = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,11 +22,13 @@
 | 
				
			|||||||
    oci-containers = {
 | 
					    oci-containers = {
 | 
				
			||||||
      backend = "podman";
 | 
					      backend = "podman";
 | 
				
			||||||
      containers = {
 | 
					      containers = {
 | 
				
			||||||
                /*container-name = {
 | 
					        /*
 | 
				
			||||||
 | 
					          container-name = {
 | 
				
			||||||
              image = "image";
 | 
					              image = "image";
 | 
				
			||||||
              autoStart = true;
 | 
					              autoStart = true;
 | 
				
			||||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
					              ports = [ "127.0.0.1:1234:1234" ];
 | 
				
			||||||
                };*/
 | 
					          };
 | 
				
			||||||
 | 
					        */
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,12 @@
 | 
				
			|||||||
{ pkgs, username, lib, ... }: {
 | 
					{
 | 
				
			||||||
    /*services.greetd = {
 | 
					  pkgs,
 | 
				
			||||||
 | 
					  username,
 | 
				
			||||||
 | 
					  lib,
 | 
				
			||||||
 | 
					  ...
 | 
				
			||||||
 | 
					}:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  /*
 | 
				
			||||||
 | 
					    services.greetd = {
 | 
				
			||||||
    	enable = true;
 | 
					    	enable = true;
 | 
				
			||||||
    	settings = {
 | 
					    	settings = {
 | 
				
			||||||
    		default_session = {
 | 
					    		default_session = {
 | 
				
			||||||
@@ -7,7 +14,8 @@
 | 
				
			|||||||
    			command = "$HOME/.wayland-session";
 | 
					    			command = "$HOME/.wayland-session";
 | 
				
			||||||
    		};
 | 
					    		};
 | 
				
			||||||
    	};
 | 
					    	};
 | 
				
			||||||
    };*/
 | 
					        };
 | 
				
			||||||
 | 
					  */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  services.displayManager = {
 | 
					  services.displayManager = {
 | 
				
			||||||
    sessionPackages = [ pkgs.hyprland ];
 | 
					    sessionPackages = [ pkgs.hyprland ];
 | 
				
			||||||
@@ -23,7 +31,11 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  programs.regreet = {
 | 
					  programs.regreet = {
 | 
				
			||||||
    enable = true;
 | 
					    enable = true;
 | 
				
			||||||
        cageArgs = ["-s" "-m" "last" ];
 | 
					    cageArgs = [
 | 
				
			||||||
 | 
					      "-s"
 | 
				
			||||||
 | 
					      "-m"
 | 
				
			||||||
 | 
					      "last"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
    settings = {
 | 
					    settings = {
 | 
				
			||||||
      background = {
 | 
					      background = {
 | 
				
			||||||
        path = "/etc/greetd/background.png";
 | 
					        path = "/etc/greetd/background.png";
 | 
				
			||||||
@@ -41,9 +53,18 @@
 | 
				
			|||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      commands = {
 | 
					      commands = {
 | 
				
			||||||
                reboot = ["systemctl" "reboot"];
 | 
					        reboot = [
 | 
				
			||||||
                poweroff = ["systemctl" "poweroff"];
 | 
					          "systemctl"
 | 
				
			||||||
                x11_prefix = [ "startx" "/usr/bin/env" ];
 | 
					          "reboot"
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        poweroff = [
 | 
				
			||||||
 | 
					          "systemctl"
 | 
				
			||||||
 | 
					          "poweroff"
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					        x11_prefix = [
 | 
				
			||||||
 | 
					          "startx"
 | 
				
			||||||
 | 
					          "/usr/bin/env"
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      appearance = {
 | 
					      appearance = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,11 @@
 | 
				
			|||||||
  users.users.${username} = {
 | 
					  users.users.${username} = {
 | 
				
			||||||
    isNormalUser = true;
 | 
					    isNormalUser = true;
 | 
				
			||||||
    description = username;
 | 
					    description = username;
 | 
				
			||||||
        extraGroups = ["networkmanager" "wheel" "podman"];
 | 
					    extraGroups = [
 | 
				
			||||||
 | 
					      "networkmanager"
 | 
				
			||||||
 | 
					      "wheel"
 | 
				
			||||||
 | 
					      "podman"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  programs.steam.enable = true;
 | 
					  programs.steam.enable = true;
 | 
				
			||||||
@@ -73,6 +77,11 @@
 | 
				
			|||||||
    gnupg
 | 
					    gnupg
 | 
				
			||||||
    fzf
 | 
					    fzf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # nix related
 | 
				
			||||||
 | 
					    nix-index
 | 
				
			||||||
 | 
					    nix-tree
 | 
				
			||||||
 | 
					    nix-health
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Archives
 | 
					    # Archives
 | 
				
			||||||
    zip
 | 
					    zip
 | 
				
			||||||
    unzip
 | 
					    unzip
 | 
				
			||||||
@@ -80,8 +89,11 @@
 | 
				
			|||||||
    xz
 | 
					    xz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    postman
 | 
					    postman
 | 
				
			||||||
 | 
					    #teamspeak6-client
 | 
				
			||||||
  ];
 | 
					  ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  security.polkit.enable = true;
 | 
					  security.polkit.enable = true;
 | 
				
			||||||
  security.rtkit.enable = true;
 | 
					  security.rtkit.enable = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  programs.ssh.startAgent = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
{pkgs, catppuccin, ...}: {
 | 
					{ pkgs, catppuccin, ... }:
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
  ##################################################################################################################
 | 
					  ##################################################################################################################
 | 
				
			||||||
  #
 | 
					  #
 | 
				
			||||||
  # All Phil's Home Manager Configuration
 | 
					  # All Phil's Home Manager Configuration
 | 
				
			||||||
@@ -18,7 +19,7 @@
 | 
				
			|||||||
    ../../home/programs/media/media.nix
 | 
					    ../../home/programs/media/media.nix
 | 
				
			||||||
    ../../home/programs/media/audacity.nix
 | 
					    ../../home/programs/media/audacity.nix
 | 
				
			||||||
    ../../home/programs/media/obs.nix
 | 
					    ../../home/programs/media/obs.nix
 | 
				
			||||||
#    ../../home/programs/media/spicetify.nix
 | 
					    ../../home/programs/media/spicetify.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ../../home/programs/productivity/blender.nix
 | 
					    ../../home/programs/productivity/blender.nix
 | 
				
			||||||
    ../../home/programs/productivity/slicer.nix
 | 
					    ../../home/programs/productivity/slicer.nix
 | 
				
			||||||
@@ -26,8 +27,10 @@
 | 
				
			|||||||
    ../../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/webcord.nix
 | 
				
			||||||
 | 
					    #    ../../home/programs/social/nixcord.nix
 | 
				
			||||||
    ../../home/programs/social/zapzap.nix
 | 
					    ../../home/programs/social/zapzap.nix
 | 
				
			||||||
 | 
					    ../../home/programs/social/teamspeak.nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ../../home/programs/web/firefox.nix
 | 
					    ../../home/programs/web/firefox.nix
 | 
				
			||||||
    ../../home/programs/web/chromium.nix
 | 
					    ../../home/programs/web/chromium.nix
 | 
				
			||||||
@@ -52,4 +55,7 @@
 | 
				
			|||||||
    userName = "DerGrumpf";
 | 
					    userName = "DerGrumpf";
 | 
				
			||||||
    userEmail = "p.keier@beyerstedt-it.de";
 | 
					    userEmail = "p.keier@beyerstedt-it.de";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  home.file.".config/hypr/hyprland.conf".enable = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										156
									
								
								wl-copy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								wl-copy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,156 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  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