Set Styling for rofi
This commit is contained in:
		
							
								
								
									
										90
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										90
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							@@ -67,6 +67,38 @@
 | 
			
		||||
        "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": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": [
 | 
			
		||||
@@ -399,6 +431,26 @@
 | 
			
		||||
        "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": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1743583204,
 | 
			
		||||
@@ -415,6 +467,21 @@
 | 
			
		||||
        "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": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1742669843,
 | 
			
		||||
@@ -432,6 +499,22 @@
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "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": {
 | 
			
		||||
        "lastModified": 1743576891,
 | 
			
		||||
        "narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
 | 
			
		||||
@@ -447,7 +530,7 @@
 | 
			
		||||
        "type": "github"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "nixpkgs_4": {
 | 
			
		||||
    "nixpkgs_5": {
 | 
			
		||||
      "locked": {
 | 
			
		||||
        "lastModified": 1751984180,
 | 
			
		||||
        "narHash": "sha256-LwWRsENAZJKUdD3SpLluwDmdXY9F45ZEgCb0X+xgOL0=",
 | 
			
		||||
@@ -492,13 +575,14 @@
 | 
			
		||||
        "home-manager": "home-manager",
 | 
			
		||||
        "hyprland": "hyprland",
 | 
			
		||||
        "hyprland-plugins": "hyprland-plugins",
 | 
			
		||||
        "nixpkgs": "nixpkgs_3",
 | 
			
		||||
        "nixcord": "nixcord",
 | 
			
		||||
        "nixpkgs": "nixpkgs_4",
 | 
			
		||||
        "spicetify-nix": "spicetify-nix"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "spicetify-nix": {
 | 
			
		||||
      "inputs": {
 | 
			
		||||
        "nixpkgs": "nixpkgs_4",
 | 
			
		||||
        "nixpkgs": "nixpkgs_5",
 | 
			
		||||
        "systems": "systems_2"
 | 
			
		||||
      },
 | 
			
		||||
      "locked": {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										60
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								flake.nix
									
									
									
									
									
								
							@@ -1,17 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
  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!
 | 
			
		||||
  nixConfig = {
 | 
			
		||||
    # substituers will be appended to the default substituters when fetching packages
 | 
			
		||||
    # nix com    extra-substituters = [munity's cache server
 | 
			
		||||
    extra-substituters = [
 | 
			
		||||
      "https://nix-community.cachix.org"
 | 
			
		||||
    ];
 | 
			
		||||
@@ -24,11 +15,14 @@
 | 
			
		||||
    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 = {
 | 
			
		||||
    /*
 | 
			
		||||
      nixvim = {
 | 
			
		||||
          url = "github:nix-community/nixvim/nixos-24.11";
 | 
			
		||||
          inputs.nixpkgs.follows = "nixpkgs";
 | 
			
		||||
    };*/
 | 
			
		||||
      };
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    catppuccin.url = "github:catppuccin/nix";
 | 
			
		||||
 | 
			
		||||
@@ -41,19 +35,23 @@
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = inputs @ {
 | 
			
		||||
  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, ... }: {
 | 
			
		||||
            (
 | 
			
		||||
              { pkgs, modulesPath, ... }:
 | 
			
		||||
              {
 | 
			
		||||
                imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ];
 | 
			
		||||
                environment.systemPackages = with pkgs; [
 | 
			
		||||
                  neovim
 | 
			
		||||
@@ -61,14 +59,21 @@
 | 
			
		||||
                  wget
 | 
			
		||||
                  curl
 | 
			
		||||
                ];
 | 
			
		||||
                nix.settings.experimental-features = ["nix-command" "flakes"];
 | 
			
		||||
             })
 | 
			
		||||
                nix.settings.experimental-features = [
 | 
			
		||||
                  "nix-command"
 | 
			
		||||
                  "flakes"
 | 
			
		||||
                ];
 | 
			
		||||
              }
 | 
			
		||||
            )
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
      m920q = let
 | 
			
		||||
        m920q =
 | 
			
		||||
          let
 | 
			
		||||
            username = "phil";
 | 
			
		||||
        specialArgs = {inherit username;};
 | 
			
		||||
            specialArgs = {
 | 
			
		||||
              inherit inputs username;
 | 
			
		||||
            };
 | 
			
		||||
          in
 | 
			
		||||
          nixpkgs.lib.nixosSystem {
 | 
			
		||||
            inherit specialArgs;
 | 
			
		||||
@@ -83,15 +88,25 @@
 | 
			
		||||
                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
 | 
			
		||||
        qemu =
 | 
			
		||||
          let
 | 
			
		||||
            username = "phil";
 | 
			
		||||
        specialArgs = {inherit username;};
 | 
			
		||||
            specialArgs = { inherit username; };
 | 
			
		||||
          in
 | 
			
		||||
          nixpkgs.lib.nixosSystem {
 | 
			
		||||
            inherit specialArgs;
 | 
			
		||||
@@ -112,9 +127,10 @@
 | 
			
		||||
            ];
 | 
			
		||||
          };
 | 
			
		||||
 | 
			
		||||
      hp15-n028sg = let
 | 
			
		||||
        hp15-n028sg =
 | 
			
		||||
          let
 | 
			
		||||
            username = "phil";
 | 
			
		||||
        specialArgs = {inherit username;};
 | 
			
		||||
            specialArgs = { inherit username; };
 | 
			
		||||
          in
 | 
			
		||||
          nixpkgs.lib.nixosSystem {
 | 
			
		||||
            inherit specialArgs;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{username, ...}: {
 | 
			
		||||
{ username, ... }:
 | 
			
		||||
{
 | 
			
		||||
  # Home Manager needs a bit of information about you and the
 | 
			
		||||
  # paths it should manage.
 | 
			
		||||
  home = {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
    krusader
 | 
			
		||||
    krename
 | 
			
		||||
    kdiff3
 | 
			
		||||
#		kdePackages.kompare
 | 
			
		||||
    #		kdePackages.kompare
 | 
			
		||||
    xxdiff
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,4 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,47 @@
 | 
			
		||||
{
 | 
			
		||||
  programs.alacritty = {
 | 
			
		||||
    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 = [
 | 
			
		||||
    ./kitty.nix # Terminal
 | 
			
		||||
    ./alacritty.nix
 | 
			
		||||
 
 | 
			
		||||
@@ -14,8 +14,9 @@
 | 
			
		||||
        after_sleep_cmd = "hyprctl dispatch dpms on";
 | 
			
		||||
        ignore_dbus_inhibit = false;
 | 
			
		||||
        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
 | 
			
		||||
="$HOME/.config/hypr/avatar.png" --app-name="Hyprlock"'';
 | 
			
		||||
        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"'';
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      listener = [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,10 +1,10 @@
 | 
			
		||||
{ inputs, pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
let
 | 
			
		||||
  package = pkgs.hyprland;
 | 
			
		||||
  super = "SUPER";
 | 
			
		||||
  terminal = "kitty";
 | 
			
		||||
    fileManager = "spacefm";
 | 
			
		||||
    theme = "-theme $HOME/.config/rofi/catppuccin-default.rasi";
 | 
			
		||||
  fileManager = "yazi";
 | 
			
		||||
  theme = "-theme $HOME/.config/rofi/custom.rasi";
 | 
			
		||||
  menu = "rofi -show drun ${theme}";
 | 
			
		||||
  filebrowser = "rofi -show filebrowser ${theme}";
 | 
			
		||||
  power = "rofi -show p -modi p:rofi-power-menu";
 | 
			
		||||
@@ -148,7 +148,6 @@ in
 | 
			
		||||
      "ignorezero,rofi"
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    dwindle = {
 | 
			
		||||
      # 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
 | 
			
		||||
@@ -200,7 +199,7 @@ in
 | 
			
		||||
      "${super}, S, exec, ${power}"
 | 
			
		||||
      "${super}, F, exec, ${filebrowser}"
 | 
			
		||||
      "${super}, P, pseudo, " # dwindle
 | 
			
		||||
            "${super}, J, togglesplit, "# dwindle
 | 
			
		||||
      "${super}, J, togglesplit, " # dwindle
 | 
			
		||||
      "${super}, O, exec, obsidian"
 | 
			
		||||
      "${super}, I, exec, firefox"
 | 
			
		||||
      "${super}, G, exec, thunderbird"
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@
 | 
			
		||||
 | 
			
		||||
      background = [
 | 
			
		||||
        {
 | 
			
		||||
				path="~/Pictures/Wallpapers/lucy_with_cat.png";
 | 
			
		||||
          path = "~/Pictures/Wallpapers/lucy_with_cat.png";
 | 
			
		||||
          blur_passes = 0;
 | 
			
		||||
          blur_size = 0;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -20,5 +20,3 @@
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, lib, ... }:
 | 
			
		||||
{ lib, ... }:
 | 
			
		||||
{
 | 
			
		||||
  programs.kitty = lib.mkForce {
 | 
			
		||||
    enable = true;
 | 
			
		||||
@@ -9,14 +9,15 @@
 | 
			
		||||
      enable_audio_bell = false;
 | 
			
		||||
      mouse_hide_wait = "-1.0";
 | 
			
		||||
      window_padding_width = 10;
 | 
			
		||||
        background_opacity = "0.5";
 | 
			
		||||
      background_opacity = "0.8";
 | 
			
		||||
      background_blur = 5;
 | 
			
		||||
      tab_bar_min_tabs = 1;
 | 
			
		||||
      tab_bar_edge = "bottom";
 | 
			
		||||
      tab_bar_style = "powerline";
 | 
			
		||||
      tab_powerline_style = "slanted";
 | 
			
		||||
      tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
 | 
			
		||||
        symbol_map = let
 | 
			
		||||
      symbol_map =
 | 
			
		||||
        let
 | 
			
		||||
          mappings = [
 | 
			
		||||
            "U+23FB-U+23FE"
 | 
			
		||||
            "U+2B58"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,10 +8,9 @@
 | 
			
		||||
    defaultTimeout = 5000;
 | 
			
		||||
 | 
			
		||||
    extraConfig = ''
 | 
			
		||||
[app-name=Spotify]
 | 
			
		||||
border-color=#a6e3a1
 | 
			
		||||
      [app-name=Spotify]
 | 
			
		||||
      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,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    rofi-power-menu
 | 
			
		||||
    rofi-calc
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  programs.rofi = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    cycle = false;
 | 
			
		||||
    package = pkgs.rofi-wayland;
 | 
			
		||||
    font = "FiraCode Nerd Font Mono 12";
 | 
			
		||||
 | 
			
		||||
    location = "center";
 | 
			
		||||
    terminal = "${pkgs.kitty}/bin/kitty";
 | 
			
		||||
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.file.".config/rofi" = {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,11 +2,13 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.waybar = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.waybar;
 | 
			
		||||
        /*settings = {
 | 
			
		||||
    /*
 | 
			
		||||
      settings = {
 | 
			
		||||
          mainBar = {
 | 
			
		||||
              layer = "top";
 | 
			
		||||
              position = "top";
 | 
			
		||||
@@ -35,7 +37,8 @@
 | 
			
		||||
                  '';
 | 
			
		||||
              };
 | 
			
		||||
          };
 | 
			
		||||
        };*/
 | 
			
		||||
      };
 | 
			
		||||
    */
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.file.".config/waybar" = {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,8 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
} : {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.waybar = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.waybar;
 | 
			
		||||
@@ -18,7 +19,7 @@
 | 
			
		||||
          "mpris"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
                modules-center = [];
 | 
			
		||||
        modules-center = [ ];
 | 
			
		||||
 | 
			
		||||
        modules-right = [
 | 
			
		||||
          "network"
 | 
			
		||||
@@ -59,7 +60,11 @@
 | 
			
		||||
        network = {
 | 
			
		||||
          tooltip = true;
 | 
			
		||||
          format-wifi = "{icon} ";
 | 
			
		||||
                        format-icons = [""  ""  ""]; 
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
          rotate = 0;
 | 
			
		||||
          format-ethernet = " ";
 | 
			
		||||
          tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
			
		||||
@@ -74,7 +79,17 @@
 | 
			
		||||
          interval = 1;
 | 
			
		||||
          rotate = 270;
 | 
			
		||||
          format = "{icon}";
 | 
			
		||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
          max-length = 10;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
@@ -82,7 +97,17 @@
 | 
			
		||||
          interval = 1;
 | 
			
		||||
          format = "{icon}";
 | 
			
		||||
          rotate = 270;
 | 
			
		||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        clock = {
 | 
			
		||||
@@ -150,7 +175,11 @@
 | 
			
		||||
        network = {
 | 
			
		||||
          tooltip = true;
 | 
			
		||||
          format-wifi = "{icon} ";
 | 
			
		||||
                        format-icons = [""  ""  ""]; 
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
          rotate = 0;
 | 
			
		||||
          format-ethernet = "{bandwidthTotalBits}  {bandwidthUpBits}  {bandwidthDownBits}   ";
 | 
			
		||||
          tooltip-format = "Network: <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,8 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
} : {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.waybar = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.waybar;
 | 
			
		||||
@@ -66,7 +67,11 @@
 | 
			
		||||
        network = {
 | 
			
		||||
          tooltip = true;
 | 
			
		||||
          format-wifi = "{icon} ";
 | 
			
		||||
                        format-icons = [""  ""  ""]; 
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
          rotate = 0;
 | 
			
		||||
          format-ethernet = " ";
 | 
			
		||||
          tooltip-format = "Network = <big><b>{essid}</b></big>\nSignal strength: <b>{signaldBm}dBm ({signalStrength}%)</b>\nFrequency: <b>{frequency}MHz</b>\nInterface: <b>{ifname}</b>\nIP: <b>{ipaddr}/{cidr}</b>\nGateway: <b>{gwaddr}</b>\nNetmask: <b>{netmask}</b>";
 | 
			
		||||
@@ -81,7 +86,17 @@
 | 
			
		||||
          interval = 1;
 | 
			
		||||
          rotate = 270;
 | 
			
		||||
          format = "{icon}";
 | 
			
		||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
          max-length = 10;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
@@ -89,7 +104,17 @@
 | 
			
		||||
          interval = 1;
 | 
			
		||||
          format = "{icon}";
 | 
			
		||||
          rotate = 270;
 | 
			
		||||
                    format-icons = ["" "" "" "" "" "" "" "" ""];
 | 
			
		||||
          format-icons = [
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
            ""
 | 
			
		||||
          ];
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        clock = {
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,8 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  catppuccin-bat,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
 | 
			
		||||
  ];
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,6 @@
 | 
			
		||||
 | 
			
		||||
  programs.go = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
        packages = {};
 | 
			
		||||
    packages = { };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,9 @@
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  home.packages = [pkgs.gh];
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  home.packages = [ pkgs.gh ];
 | 
			
		||||
 | 
			
		||||
  programs.git = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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 = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    viAlias = true;
 | 
			
		||||
    vimAlias = true;
 | 
			
		||||
    defaultEditor = true;
 | 
			
		||||
        /*plugins = with pkgs.vimPlugins; [
 | 
			
		||||
            nvim-tree-lua
 | 
			
		||||
            nvim-treesitter.withAllGrammars
 | 
			
		||||
        ];*/
 | 
			
		||||
    #extraPackages = with pkgs; [ ];
 | 
			
		||||
 | 
			
		||||
    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" = {
 | 
			
		||||
	source = ./configs;
 | 
			
		||||
	recursive = true;
 | 
			
		||||
    };
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    nixfmt-rfc-style
 | 
			
		||||
    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,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    itch
 | 
			
		||||
  ];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,8 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    lutris
 | 
			
		||||
  ];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,12 +2,13 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    xonotic
 | 
			
		||||
#    armagetron
 | 
			
		||||
#        freeciv
 | 
			
		||||
#        mindustry
 | 
			
		||||
#        openra
 | 
			
		||||
    #    armagetron
 | 
			
		||||
    #        freeciv
 | 
			
		||||
    #        mindustry
 | 
			
		||||
    #        openra
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,13 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
    /*home.packages = with pkgs; [
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  /*
 | 
			
		||||
    home.packages = with pkgs; [
 | 
			
		||||
        steam
 | 
			
		||||
    ];*/
 | 
			
		||||
    ];
 | 
			
		||||
  */
 | 
			
		||||
  programs.steam = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    remotePlay.openFirewall = true;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, inputs } :
 | 
			
		||||
{ pkgs, inputs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    inputs.spicetify-nix.homeManagerModules.default
 | 
			
		||||
@@ -10,6 +10,30 @@
 | 
			
		||||
    in
 | 
			
		||||
    {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      spotifyPackage = pkgs.spotify;
 | 
			
		||||
      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; [ ];
 | 
			
		||||
 | 
			
		||||
    };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@
 | 
			
		||||
 | 
			
		||||
  programs.mpv = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
        defaultProfiles = ["gpu-hq"];
 | 
			
		||||
        scripts = [pkgs.mpvScripts.mpris];
 | 
			
		||||
    defaultProfiles = [ "gpu-hq" ];
 | 
			
		||||
    scripts = [ pkgs.mpvScripts.mpris ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  # Install Element Desktop
 | 
			
		||||
  # Install Teamspeak Desktop
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    teamspeak3
 | 
			
		||||
    #    teamspeak6-client
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,11 @@
 | 
			
		||||
  pkgs,
 | 
			
		||||
  config,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.chromium = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
        commandLineArgs = ["--enable-features=TouchpadOverscrollHistoryNavigation"];
 | 
			
		||||
    commandLineArgs = [ "--enable-features=TouchpadOverscrollHistoryNavigation" ];
 | 
			
		||||
    extensions = [
 | 
			
		||||
      # {id = "";}  // extension id, query from chrome web store
 | 
			
		||||
    ];
 | 
			
		||||
 
 | 
			
		||||
@@ -3,9 +3,10 @@
 | 
			
		||||
  config,
 | 
			
		||||
  username,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.firefox = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        profiles.${username} = {};
 | 
			
		||||
    enable = false;
 | 
			
		||||
    profiles.${username} = { };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,9 +3,11 @@
 | 
			
		||||
  config,
 | 
			
		||||
  username,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  programs.floorp = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
        profiles.${username} = {};
 | 
			
		||||
    profiles.${username} = { };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./qt.nix
 | 
			
		||||
#        ./gtk.nix
 | 
			
		||||
    #        ./gtk.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								home/xdg.nix
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								home/xdg.nix
									
									
									
									
									
								
							@@ -1,5 +1,6 @@
 | 
			
		||||
{pkgs, config, ...}: let
 | 
			
		||||
  browser = ["firefox.desktop"];
 | 
			
		||||
{ pkgs, config, ... }:
 | 
			
		||||
let
 | 
			
		||||
  browser = [ "floorp.desktop" ];
 | 
			
		||||
 | 
			
		||||
  # XDG MIME types
 | 
			
		||||
  associations = {
 | 
			
		||||
@@ -11,22 +12,23 @@
 | 
			
		||||
    "application/xhtml+xml" = browser;
 | 
			
		||||
    "text/html" = browser;
 | 
			
		||||
    "x-scheme-handler/about" = browser;
 | 
			
		||||
    "x-scheme-handler/chrome" = ["chromium-browser.desktop"];
 | 
			
		||||
    "x-scheme-handler/chrome" = [ "chromium-browser.desktop" ];
 | 
			
		||||
    "x-scheme-handler/ftp" = browser;
 | 
			
		||||
    "x-scheme-handler/http" = browser;
 | 
			
		||||
    "x-scheme-handler/https" = browser;
 | 
			
		||||
    "x-scheme-handler/unknown" = browser;
 | 
			
		||||
 | 
			
		||||
    "audio/*" = ["mpv.desktop"];
 | 
			
		||||
    "video/*" = ["mpv.dekstop"];
 | 
			
		||||
    "image/*" = ["imv.desktop"];
 | 
			
		||||
    "audio/*" = [ "mpv.desktop" ];
 | 
			
		||||
    "video/*" = [ "mpv.dekstop" ];
 | 
			
		||||
    "image/*" = [ "kitty-icat.desktop" ];
 | 
			
		||||
    "application/json" = browser;
 | 
			
		||||
    "application/pdf" = ["org.pwmt.zathura.desktop.desktop"];
 | 
			
		||||
    "x-scheme-handler/discord" = ["discordcanary.desktop"];
 | 
			
		||||
    "x-scheme-handler/spotify" = ["spotify.desktop"];
 | 
			
		||||
    "x-scheme-handler/tg" = ["telegramdesktop.desktop"];
 | 
			
		||||
    "application/pdf" = [ "okular.desktop" ];
 | 
			
		||||
    "x-scheme-handler/discord" = [ "discordcanary.desktop" ];
 | 
			
		||||
    "x-scheme-handler/spotify" = [ "spotify.desktop" ];
 | 
			
		||||
    "x-scheme-handler/tg" = [ "telegramdesktop.desktop" ];
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  xdg = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    cacheHome = config.home.homeDirectory + "/.local/cache";
 | 
			
		||||
@@ -36,6 +38,20 @@ in {
 | 
			
		||||
      defaultApplications = associations;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    desktopEntries = {
 | 
			
		||||
      kitty-icat = {
 | 
			
		||||
        name = "Kitty Icat";
 | 
			
		||||
        exec = "kitty +kitten icat %F";
 | 
			
		||||
        terminal = true;
 | 
			
		||||
        type = "Application";
 | 
			
		||||
        mimeType = [ "image/*" ];
 | 
			
		||||
        categories = [
 | 
			
		||||
          "Viewer"
 | 
			
		||||
          "Graphics"
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    userDirs = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      createDirectories = true;
 | 
			
		||||
@@ -49,8 +65,12 @@ in {
 | 
			
		||||
      xdgOpenUsePortal = true;
 | 
			
		||||
      config = {
 | 
			
		||||
        common.default = [ "gtk" ];
 | 
			
		||||
		hyprland.default = [ "gtk" "hyprland" ];
 | 
			
		||||
        hyprland.default = [
 | 
			
		||||
          "gtk"
 | 
			
		||||
          "hyprland"
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      extraPortals = [
 | 
			
		||||
        pkgs.xdg-desktop-portal-gtk
 | 
			
		||||
        pkgs.xdg-desktop-portal-hyprland
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@
 | 
			
		||||
    ../../modules/plymouth.nix
 | 
			
		||||
    ../../modules/file_managers/spacefm.nix
 | 
			
		||||
    ../../modules/python.nix
 | 
			
		||||
# Include the results of the hardware scan.
 | 
			
		||||
    # Include the results of the hardware scan.
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
@@ -74,5 +74,3 @@
 | 
			
		||||
  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’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
  imports = [
 | 
			
		||||
    (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.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
  fileSystems."/" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
    fsType = "ext4";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
    fsType = "vfat";
 | 
			
		||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
			
		||||
    options = [
 | 
			
		||||
      "fmask=0022"
 | 
			
		||||
      "dmask=0022"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [ ];
 | 
			
		||||
 
 | 
			
		||||
@@ -2,11 +2,16 @@
 | 
			
		||||
# 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`).
 | 
			
		||||
 | 
			
		||||
{ config, lib, pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ # Include the results of the hardware scan.
 | 
			
		||||
  imports = [
 | 
			
		||||
    # Include the results of the hardware scan.
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
@@ -37,9 +42,6 @@
 | 
			
		||||
  # Enable the X11 windowing system.
 | 
			
		||||
  # services.xserver.enable = true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  # Configure keymap in X11
 | 
			
		||||
  services.xserver.xkb.layout = "de";
 | 
			
		||||
  # services.xserver.xkb.options = "eurosign:e,caps:escape";
 | 
			
		||||
@@ -125,4 +127,3 @@
 | 
			
		||||
  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
 | 
			
		||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
 | 
			
		||||
 | 
			
		||||
{ config, pkgs, lib, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
@@ -24,7 +29,7 @@
 | 
			
		||||
    ../../modules/qemu.nix
 | 
			
		||||
    ../../modules/thunderbird.nix
 | 
			
		||||
    ../../modules/canon_eos_550d.nix
 | 
			
		||||
# Include the results of the hardware scan.
 | 
			
		||||
    # Include the results of the hardware scan.
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
@@ -40,10 +45,12 @@
 | 
			
		||||
    #useDHCP = lib.mkForce true;
 | 
			
		||||
    #dhcpcd.enable = true;
 | 
			
		||||
    interfaces = {
 | 
			
		||||
		eno1.ipv4.addresses = [{
 | 
			
		||||
      eno1.ipv4.addresses = [
 | 
			
		||||
        {
 | 
			
		||||
          address = "192.168.2.40";
 | 
			
		||||
          prefixLength = 24;
 | 
			
		||||
		}];
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    defaultGateway = {
 | 
			
		||||
@@ -65,5 +72,3 @@
 | 
			
		||||
  environment.systemPackages = [ pkgs.onlyoffice-bin ];
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,34 +1,53 @@
 | 
			
		||||
# Do not modify this file!  It was generated by ‘nixos-generate-config’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/installer/scan/not-detected.nix")
 | 
			
		||||
  imports = [
 | 
			
		||||
    (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.kernelModules = [ "kvm-intel" "v4l2loopback"];
 | 
			
		||||
  boot.kernelModules = [
 | 
			
		||||
    "kvm-intel"
 | 
			
		||||
    "v4l2loopback"
 | 
			
		||||
  ];
 | 
			
		||||
  boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
 | 
			
		||||
  boot.extraModprobeConfig = ''
 | 
			
		||||
    options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
  fileSystems."/" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
    fsType = "ext4";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
    fsType = "vfat";
 | 
			
		||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
			
		||||
    options = [
 | 
			
		||||
      "fmask=0022"
 | 
			
		||||
      "dmask=0022"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/storage" = 
 | 
			
		||||
    { device = "/dev/disk/by-label/STORAGE";
 | 
			
		||||
  fileSystems."/storage" = {
 | 
			
		||||
    device = "/dev/disk/by-label/STORAGE";
 | 
			
		||||
    fsType = "ext4";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@
 | 
			
		||||
    ../../modules/plymouth.nix
 | 
			
		||||
    ../../modules/file_managers/spacefm.nix
 | 
			
		||||
 | 
			
		||||
# Include the results of the hardware scan.
 | 
			
		||||
    # Include the results of the hardware scan.
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
@@ -40,5 +40,3 @@
 | 
			
		||||
  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’
 | 
			
		||||
# and may be overwritten by future invocations.  Please make changes
 | 
			
		||||
# to /etc/nixos/configuration.nix instead.
 | 
			
		||||
{ config, lib, pkgs, modulesPath, ... }:
 | 
			
		||||
{
 | 
			
		||||
  config,
 | 
			
		||||
  lib,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  modulesPath,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports =
 | 
			
		||||
    [ (modulesPath + "/profiles/qemu-guest.nix")
 | 
			
		||||
  imports = [
 | 
			
		||||
    (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.kernelModules = [ "kvm-intel" ];
 | 
			
		||||
  boot.extraModulePackages = [ ];
 | 
			
		||||
 | 
			
		||||
  fileSystems."/" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
  fileSystems."/" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXROOT";
 | 
			
		||||
    fsType = "ext4";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fileSystems."/boot" =
 | 
			
		||||
    { device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
  fileSystems."/boot" = {
 | 
			
		||||
    device = "/dev/disk/by-label/NIXBOOT";
 | 
			
		||||
    fsType = "vfat";
 | 
			
		||||
      options = [ "fmask=0022" "dmask=0022" ];
 | 
			
		||||
    options = [
 | 
			
		||||
      "fmask=0022"
 | 
			
		||||
      "dmask=0022"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  swapDevices = [ ];
 | 
			
		||||
 
 | 
			
		||||
@@ -7,9 +7,9 @@
 | 
			
		||||
      General = {
 | 
			
		||||
        Enable = "Source,Sink,Media,Socket";
 | 
			
		||||
        Experimental = true;
 | 
			
		||||
            }
 | 
			
		||||
      };
 | 
			
		||||
    }
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  services.blueman.enable = true; # Graphical Manager
 | 
			
		||||
 | 
			
		||||
@@ -17,5 +17,5 @@
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.pulseaudioFull;
 | 
			
		||||
    extraModules = [ pkgs.pulseaudio-modules-bt ];
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@
 | 
			
		||||
    ATTR{idVendor}=="04a9", \
 | 
			
		||||
    ATTR{idProduct}=="31ea", \
 | 
			
		||||
  '';
 | 
			
		||||
#        RUN+="systemctl restart webcam"
 | 
			
		||||
  #        RUN+="systemctl restart webcam"
 | 
			
		||||
 | 
			
		||||
  systemd.services.webcam = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
@@ -22,11 +22,13 @@
 | 
			
		||||
    oci-containers = {
 | 
			
		||||
      backend = "docker";
 | 
			
		||||
      containers = {
 | 
			
		||||
                /*container-name = {
 | 
			
		||||
        /*
 | 
			
		||||
          container-name = {
 | 
			
		||||
              image = "image";
 | 
			
		||||
              autoStart = true;
 | 
			
		||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
                };*/
 | 
			
		||||
          };
 | 
			
		||||
        */
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -21,10 +21,19 @@
 | 
			
		||||
    # 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
 | 
			
		||||
    fontconfig.defaultFonts = {
 | 
			
		||||
          serif = ["Noto Serif" "Noto Color Emoji"];
 | 
			
		||||
          sansSerif = ["Noto Sans" "Noto Color Emoji"];
 | 
			
		||||
          monospace = ["JetBrainsMono Nerd Font" "Noto Color Emoji"];
 | 
			
		||||
          emoji = ["Noto Color Emoji"];
 | 
			
		||||
      serif = [
 | 
			
		||||
        "Noto Serif"
 | 
			
		||||
        "Noto Color Emoji"
 | 
			
		||||
      ];
 | 
			
		||||
      sansSerif = [
 | 
			
		||||
        "Noto Sans"
 | 
			
		||||
        "Noto Color Emoji"
 | 
			
		||||
      ];
 | 
			
		||||
      monospace = [
 | 
			
		||||
        "JetBrainsMono Nerd Font"
 | 
			
		||||
        "Noto Color Emoji"
 | 
			
		||||
      ];
 | 
			
		||||
      emoji = [ "Noto Color Emoji" ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,22 @@
 | 
			
		||||
{ pkgs, username, lib, ... }: 
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  username,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  # given the users in this list the right to specify additional substituters via:
 | 
			
		||||
  #    1. `nixConfig.substituers` in `flake.nix`
 | 
			
		||||
  #    2. command line args `--options substituers http://xxx`
 | 
			
		||||
    nix.settings.trusted-users = [username];
 | 
			
		||||
  nix.settings.trusted-users = [ username ];
 | 
			
		||||
 | 
			
		||||
  # customise /etc/nix/nix.conf declaratively via `nix.settings`
 | 
			
		||||
  nix.settings = {
 | 
			
		||||
    # enable flakes globally
 | 
			
		||||
        experimental-features = ["nix-command" "flakes"];
 | 
			
		||||
    experimental-features = [
 | 
			
		||||
      "nix-command"
 | 
			
		||||
      "flakes"
 | 
			
		||||
    ];
 | 
			
		||||
    auto-optimise-store = true;
 | 
			
		||||
    substituters = [
 | 
			
		||||
      "https://cache.nixos.org"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  boot = {
 | 
			
		||||
 | 
			
		||||
    plymouth = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
@@ -22,11 +22,13 @@
 | 
			
		||||
    oci-containers = {
 | 
			
		||||
      backend = "podman";
 | 
			
		||||
      containers = {
 | 
			
		||||
                /*container-name = {
 | 
			
		||||
        /*
 | 
			
		||||
          container-name = {
 | 
			
		||||
              image = "image";
 | 
			
		||||
              autoStart = true;
 | 
			
		||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
                };*/
 | 
			
		||||
          };
 | 
			
		||||
        */
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,12 @@
 | 
			
		||||
{ pkgs, username, lib, ... }: {
 | 
			
		||||
    /*services.greetd = {
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  username,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  /*
 | 
			
		||||
    services.greetd = {
 | 
			
		||||
    	enable = true;
 | 
			
		||||
    	settings = {
 | 
			
		||||
    		default_session = {
 | 
			
		||||
@@ -7,13 +14,14 @@
 | 
			
		||||
    			command = "$HOME/.wayland-session";
 | 
			
		||||
    		};
 | 
			
		||||
    	};
 | 
			
		||||
    };*/
 | 
			
		||||
        };
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
  services.displayManager = {
 | 
			
		||||
    sessionPackages = [ pkgs.hyprland ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
    environment.etc= {
 | 
			
		||||
  environment.etc = {
 | 
			
		||||
    "greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
 | 
			
		||||
    "greetd/environments".text = ''
 | 
			
		||||
      hyprland
 | 
			
		||||
@@ -23,7 +31,11 @@
 | 
			
		||||
 | 
			
		||||
  programs.regreet = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
        cageArgs = ["-s" "-m" "last" ];
 | 
			
		||||
    cageArgs = [
 | 
			
		||||
      "-s"
 | 
			
		||||
      "-m"
 | 
			
		||||
      "last"
 | 
			
		||||
    ];
 | 
			
		||||
    settings = {
 | 
			
		||||
      background = {
 | 
			
		||||
        path = "/etc/greetd/background.png";
 | 
			
		||||
@@ -41,9 +53,18 @@
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      commands = {
 | 
			
		||||
                reboot = ["systemctl" "reboot"];
 | 
			
		||||
                poweroff = ["systemctl" "poweroff"];
 | 
			
		||||
                x11_prefix = [ "startx" "/usr/bin/env" ];
 | 
			
		||||
        reboot = [
 | 
			
		||||
          "systemctl"
 | 
			
		||||
          "reboot"
 | 
			
		||||
        ];
 | 
			
		||||
        poweroff = [
 | 
			
		||||
          "systemctl"
 | 
			
		||||
          "poweroff"
 | 
			
		||||
        ];
 | 
			
		||||
        x11_prefix = [
 | 
			
		||||
          "startx"
 | 
			
		||||
          "/usr/bin/env"
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      appearance = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,14 +1,14 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  services = {
 | 
			
		||||
        dbus.packages = [pkgs.gcr];
 | 
			
		||||
    dbus.packages = [ pkgs.gcr ];
 | 
			
		||||
 | 
			
		||||
#        flatpak.enable = true;
 | 
			
		||||
#        xdg.portals.enable = true;
 | 
			
		||||
    #        flatpak.enable = true;
 | 
			
		||||
    #        xdg.portals.enable = true;
 | 
			
		||||
    geoclue2.enable = true;
 | 
			
		||||
    xserver.enable = true;
 | 
			
		||||
 | 
			
		||||
        udev.packages = with pkgs; [pkgs.gnome-settings-daemon];
 | 
			
		||||
    udev.packages = with pkgs; [ pkgs.gnome-settings-daemon ];
 | 
			
		||||
 | 
			
		||||
    # Enable CUPS to print documents.
 | 
			
		||||
    printing.enable = true;
 | 
			
		||||
 
 | 
			
		||||
@@ -5,20 +5,24 @@
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
# ============================= User related =============================
 | 
			
		||||
  # ============================= User related =============================
 | 
			
		||||
 | 
			
		||||
# Define a user account. Don't forget to set a password with ‘passwd’.
 | 
			
		||||
  # Define a user account. Don't forget to set a password with ‘passwd’.
 | 
			
		||||
  users.users.${username} = {
 | 
			
		||||
    isNormalUser = true;
 | 
			
		||||
    description = username;
 | 
			
		||||
        extraGroups = ["networkmanager" "wheel" "podman"];
 | 
			
		||||
    extraGroups = [
 | 
			
		||||
      "networkmanager"
 | 
			
		||||
      "wheel"
 | 
			
		||||
      "podman"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.steam.enable = true;
 | 
			
		||||
  programs.dconf.enable = true;
 | 
			
		||||
 | 
			
		||||
# List packages installed in system profile. To search, run:
 | 
			
		||||
# $ nix search wget
 | 
			
		||||
  # List packages installed in system profile. To search, run:
 | 
			
		||||
  # $ nix search wget
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    # Bare minimum
 | 
			
		||||
    neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
			
		||||
@@ -73,6 +77,11 @@
 | 
			
		||||
    gnupg
 | 
			
		||||
    fzf
 | 
			
		||||
 | 
			
		||||
    # nix related
 | 
			
		||||
    nix-index
 | 
			
		||||
    nix-tree
 | 
			
		||||
    nix-health
 | 
			
		||||
 | 
			
		||||
    # Archives
 | 
			
		||||
    zip
 | 
			
		||||
    unzip
 | 
			
		||||
@@ -80,8 +89,11 @@
 | 
			
		||||
    xz
 | 
			
		||||
 | 
			
		||||
    postman
 | 
			
		||||
    #teamspeak6-client
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  security.polkit.enable = true;
 | 
			
		||||
  security.rtkit.enable = true;
 | 
			
		||||
 | 
			
		||||
  programs.ssh.startAgent = true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  programs.thunderbird.enable = true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{pkgs, catppuccin, ...}: {
 | 
			
		||||
{ pkgs, catppuccin, ... }:
 | 
			
		||||
{
 | 
			
		||||
  ##################################################################################################################
 | 
			
		||||
  #
 | 
			
		||||
  # All Phil's Home Manager Configuration
 | 
			
		||||
@@ -10,7 +11,7 @@
 | 
			
		||||
    ../../home/xdg.nix # Bindings
 | 
			
		||||
 | 
			
		||||
    ../../home/hyprland # Window Manager
 | 
			
		||||
#    ../../home/themes/dark
 | 
			
		||||
    #    ../../home/themes/dark
 | 
			
		||||
    ../../home/hyprland/waybar/double-monitor.nix
 | 
			
		||||
 | 
			
		||||
    ../../home/programs/dev # Dev Tools
 | 
			
		||||
@@ -18,7 +19,7 @@
 | 
			
		||||
    ../../home/programs/media/media.nix
 | 
			
		||||
    ../../home/programs/media/audacity.nix
 | 
			
		||||
    ../../home/programs/media/obs.nix
 | 
			
		||||
#    ../../home/programs/media/spicetify.nix
 | 
			
		||||
    ../../home/programs/media/spicetify.nix
 | 
			
		||||
 | 
			
		||||
    ../../home/programs/productivity/blender.nix
 | 
			
		||||
    ../../home/programs/productivity/slicer.nix
 | 
			
		||||
@@ -26,8 +27,10 @@
 | 
			
		||||
    ../../home/programs/productivity/obsidian.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/teamspeak.nix
 | 
			
		||||
 | 
			
		||||
    ../../home/programs/web/firefox.nix
 | 
			
		||||
    ../../home/programs/web/chromium.nix
 | 
			
		||||
@@ -35,7 +38,7 @@
 | 
			
		||||
 | 
			
		||||
    # Games
 | 
			
		||||
    ../../home/programs/games/itch.nix
 | 
			
		||||
#    ../../home/programs/games/steam.nix
 | 
			
		||||
    #    ../../home/programs/games/steam.nix
 | 
			
		||||
    ../../home/programs/games/lutris.nix
 | 
			
		||||
    ../../home/programs/games/opensource.nix
 | 
			
		||||
    ../../home/programs/games/airshipper.nix
 | 
			
		||||
@@ -52,4 +55,7 @@
 | 
			
		||||
    userName = "DerGrumpf";
 | 
			
		||||
    userEmail = "p.keier@beyerstedt-it.de";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.file.".config/hypr/hyprland.conf".enable = false;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ... } :
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  ##################################################################################################################
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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