Set Styling for rofi
This commit is contained in:
		@@ -1,7 +1,7 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
	programs.appimage = {
 | 
			
		||||
		enable = true;
 | 
			
		||||
		binfmt = true;
 | 
			
		||||
	};
 | 
			
		||||
  programs.appimage = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    binfmt = true;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,21 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    hardware.bluetooth = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        powerOnBoot = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
            General = {
 | 
			
		||||
                Enable = "Source,Sink,Media,Socket";
 | 
			
		||||
                Experimental = true;
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
  hardware.bluetooth = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    powerOnBoot = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
      General = {
 | 
			
		||||
        Enable = "Source,Sink,Media,Socket";
 | 
			
		||||
        Experimental = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
    services.blueman.enable = true; # Graphical Manager
 | 
			
		||||
  services.blueman.enable = true; # Graphical Manager
 | 
			
		||||
 | 
			
		||||
    hardware.pulseaudio = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        package = pkgs.pulseaudioFull;
 | 
			
		||||
        extraModules = [ pkgs.pulseaudio-modules-bt ];
 | 
			
		||||
    }
 | 
			
		||||
  hardware.pulseaudio = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.pulseaudioFull;
 | 
			
		||||
    extraModules = [ pkgs.pulseaudio-modules-bt ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,25 +1,25 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    services.udev.extraRules = ''
 | 
			
		||||
        ACTION=="add", \
 | 
			
		||||
        SUBSYSTEM=="usb", \
 | 
			
		||||
        ATTR{idVendor}=="04a9", \
 | 
			
		||||
        ATTR{idProduct}=="31ea", \
 | 
			
		||||
    '';
 | 
			
		||||
#        RUN+="systemctl restart webcam"
 | 
			
		||||
  services.udev.extraRules = ''
 | 
			
		||||
    ACTION=="add", \
 | 
			
		||||
    SUBSYSTEM=="usb", \
 | 
			
		||||
    ATTR{idVendor}=="04a9", \
 | 
			
		||||
    ATTR{idProduct}=="31ea", \
 | 
			
		||||
  '';
 | 
			
		||||
  #        RUN+="systemctl restart webcam"
 | 
			
		||||
 | 
			
		||||
    systemd.services.webcam = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        script = ''
 | 
			
		||||
            ${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie |
 | 
			
		||||
            ${pkgs.ffmpeg}/bin/ffmpeg \
 | 
			
		||||
                -i - \
 | 
			
		||||
                -vcodec rawvideo \
 | 
			
		||||
                -pix_fmt yuv420p \
 | 
			
		||||
                -f v4l2 \
 | 
			
		||||
                /dev/video0
 | 
			
		||||
        '';
 | 
			
		||||
        #wantedBy = [ "multi-user.target" ];
 | 
			
		||||
    };
 | 
			
		||||
  systemd.services.webcam = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    script = ''
 | 
			
		||||
      ${pkgs.gphoto2}/bin/gphoto2 --stdout --capture-movie |
 | 
			
		||||
      ${pkgs.ffmpeg}/bin/ffmpeg \
 | 
			
		||||
          -i - \
 | 
			
		||||
          -vcodec rawvideo \
 | 
			
		||||
          -pix_fmt yuv420p \
 | 
			
		||||
          -f v4l2 \
 | 
			
		||||
          /dev/video0
 | 
			
		||||
    '';
 | 
			
		||||
    #wantedBy = [ "multi-user.target" ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,34 +1,36 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
        # Virtualisation 
 | 
			
		||||
        docker-compose # docker-compose alternative
 | 
			
		||||
        dive # docker layer viewer
 | 
			
		||||
        tailscale # Vpn
 | 
			
		||||
    ];
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    # Virtualisation
 | 
			
		||||
    virtualisation = {
 | 
			
		||||
        containers.enable = true;
 | 
			
		||||
    docker-compose # docker-compose alternative
 | 
			
		||||
    dive # docker layer viewer
 | 
			
		||||
    tailscale # Vpn
 | 
			
		||||
  ];
 | 
			
		||||
  # Virtualisation
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
    containers.enable = true;
 | 
			
		||||
 | 
			
		||||
        docker = {
 | 
			
		||||
            enable = true;
 | 
			
		||||
            rootless = {
 | 
			
		||||
                enable = true;
 | 
			
		||||
                setSocketVariable = true;
 | 
			
		||||
            };
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        oci-containers = {
 | 
			
		||||
            backend = "docker";
 | 
			
		||||
            containers = {
 | 
			
		||||
                /*container-name = {
 | 
			
		||||
                    image = "image";
 | 
			
		||||
                    autoStart = true;
 | 
			
		||||
                    ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
                };*/
 | 
			
		||||
            };
 | 
			
		||||
        };
 | 
			
		||||
    docker = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      rootless = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        setSocketVariable = true;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    oci-containers = {
 | 
			
		||||
      backend = "docker";
 | 
			
		||||
      containers = {
 | 
			
		||||
        /*
 | 
			
		||||
          container-name = {
 | 
			
		||||
              image = "image";
 | 
			
		||||
              autoStart = true;
 | 
			
		||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
          };
 | 
			
		||||
        */
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
	programs.spacefm.enable = true;
 | 
			
		||||
  programs.spacefm.enable = true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    programs.xfconf.enable = true;
 | 
			
		||||
    services.gvfs.enable = true;
 | 
			
		||||
    services.tumbler.enable = true;
 | 
			
		||||
    programs.thunar = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        plugins = with pkgs.xfce; [
 | 
			
		||||
            thunar-archive-plugin
 | 
			
		||||
            thunar-volman
 | 
			
		||||
        ];
 | 
			
		||||
    };
 | 
			
		||||
  programs.xfconf.enable = true;
 | 
			
		||||
  services.gvfs.enable = true;
 | 
			
		||||
  services.tumbler.enable = true;
 | 
			
		||||
  programs.thunar = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    plugins = with pkgs.xfce; [
 | 
			
		||||
      thunar-archive-plugin
 | 
			
		||||
      thunar-volman
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    networking.firewall.allowedTCPPorts = [ 57621 ];
 | 
			
		||||
    networking.firewall.allowedUDPPorts = [ 5353 ];
 | 
			
		||||
    # Or disable the firewall altogether.
 | 
			
		||||
    networking.firewall.enable = false;
 | 
			
		||||
  networking.firewall.allowedTCPPorts = [ 57621 ];
 | 
			
		||||
  networking.firewall.allowedUDPPorts = [ 5353 ];
 | 
			
		||||
  # Or disable the firewall altogether.
 | 
			
		||||
  networking.firewall.enable = false;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,39 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    fonts = {
 | 
			
		||||
        packages = with pkgs; [
 | 
			
		||||
            # icon fonts
 | 
			
		||||
            material-icons
 | 
			
		||||
            material-black-colors
 | 
			
		||||
            material-design-icons
 | 
			
		||||
  fonts = {
 | 
			
		||||
    packages = with pkgs; [
 | 
			
		||||
      # icon fonts
 | 
			
		||||
      material-icons
 | 
			
		||||
      material-black-colors
 | 
			
		||||
      material-design-icons
 | 
			
		||||
 | 
			
		||||
            # normal fonts
 | 
			
		||||
            noto-fonts
 | 
			
		||||
            noto-fonts-emoji
 | 
			
		||||
      # normal fonts
 | 
			
		||||
      noto-fonts
 | 
			
		||||
      noto-fonts-emoji
 | 
			
		||||
 | 
			
		||||
            nerdfonts
 | 
			
		||||
        ];
 | 
			
		||||
      nerdfonts
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
        # use fonts specified by user rather than default ones
 | 
			
		||||
        enableDefaultPackages = false;
 | 
			
		||||
    # use fonts specified by user rather than default ones
 | 
			
		||||
    enableDefaultPackages = false;
 | 
			
		||||
 | 
			
		||||
        # user defined fonts
 | 
			
		||||
        # 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"];
 | 
			
		||||
        };
 | 
			
		||||
    # user defined fonts
 | 
			
		||||
    # 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" ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,20 @@
 | 
			
		||||
{ pkgs, ... }: 
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    # Set your time zone.
 | 
			
		||||
    time.timeZone = "Europe/Berlin";
 | 
			
		||||
  # Set your time zone.
 | 
			
		||||
  time.timeZone = "Europe/Berlin";
 | 
			
		||||
 | 
			
		||||
    # Select internationalisation properties.
 | 
			
		||||
    i18n.defaultLocale = "en_US.UTF-8";
 | 
			
		||||
  # Select internationalisation properties.
 | 
			
		||||
  i18n.defaultLocale = "en_US.UTF-8";
 | 
			
		||||
 | 
			
		||||
    i18n.extraLocaleSettings = {
 | 
			
		||||
        LC_ADDRESS = "de_DE.UTF-8";
 | 
			
		||||
        LC_IDENTIFICATION = "de_DE.UTF-8";
 | 
			
		||||
        LC_MEASUREMENT = "de_DE.UTF-8";
 | 
			
		||||
        LC_MONETARY = "de_DE.UTF-8";
 | 
			
		||||
        LC_NAME = "de_DE.UTF-8";
 | 
			
		||||
        LC_NUMERIC = "de_DE.UTF-8";
 | 
			
		||||
        LC_PAPER = "de_DE.UTF-8";
 | 
			
		||||
        LC_TELEPHONE = "de_DE.UTF-8";
 | 
			
		||||
        LC_TIME = "de_DE.UTF-8";
 | 
			
		||||
    };
 | 
			
		||||
  i18n.extraLocaleSettings = {
 | 
			
		||||
    LC_ADDRESS = "de_DE.UTF-8";
 | 
			
		||||
    LC_IDENTIFICATION = "de_DE.UTF-8";
 | 
			
		||||
    LC_MEASUREMENT = "de_DE.UTF-8";
 | 
			
		||||
    LC_MONETARY = "de_DE.UTF-8";
 | 
			
		||||
    LC_NAME = "de_DE.UTF-8";
 | 
			
		||||
    LC_NUMERIC = "de_DE.UTF-8";
 | 
			
		||||
    LC_PAPER = "de_DE.UTF-8";
 | 
			
		||||
    LC_TELEPHONE = "de_DE.UTF-8";
 | 
			
		||||
    LC_TIME = "de_DE.UTF-8";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,42 +1,50 @@
 | 
			
		||||
{ 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];
 | 
			
		||||
  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 ];
 | 
			
		||||
 | 
			
		||||
    # customise /etc/nix/nix.conf declaratively via `nix.settings`
 | 
			
		||||
    nix.settings = {
 | 
			
		||||
        # enable flakes globally
 | 
			
		||||
        experimental-features = ["nix-command" "flakes"];
 | 
			
		||||
        auto-optimise-store = true;
 | 
			
		||||
        substituters = [
 | 
			
		||||
          "https://cache.nixos.org"
 | 
			
		||||
          "https://hyprland.cachix.org"
 | 
			
		||||
        ];
 | 
			
		||||
 | 
			
		||||
        trusted-public-keys = [
 | 
			
		||||
          "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
 | 
			
		||||
          "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
 | 
			
		||||
        ];
 | 
			
		||||
        builders-use-substitutes = true;
 | 
			
		||||
        download-buffer-size = 524288000;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # do garbage collection weekly to keep disk usage low
 | 
			
		||||
    nix.gc = {
 | 
			
		||||
        automatic = lib.mkDefault true;
 | 
			
		||||
        dates = lib.mkDefault "1 h";
 | 
			
		||||
        options = lib.mkDefault "--delete-older-than +3";
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # Allow unfree packages
 | 
			
		||||
    nixpkgs.config.allowUnfree = true;
 | 
			
		||||
    nixpkgs.config.allowBroken = true;
 | 
			
		||||
 | 
			
		||||
    nixpkgs.config.permittedInsecurePackages = [
 | 
			
		||||
        "dotnet-sdk-6.0.428"
 | 
			
		||||
	    "dotnet-runtime-6.0.36"
 | 
			
		||||
  # customise /etc/nix/nix.conf declaratively via `nix.settings`
 | 
			
		||||
  nix.settings = {
 | 
			
		||||
    # enable flakes globally
 | 
			
		||||
    experimental-features = [
 | 
			
		||||
      "nix-command"
 | 
			
		||||
      "flakes"
 | 
			
		||||
    ];
 | 
			
		||||
    auto-optimise-store = true;
 | 
			
		||||
    substituters = [
 | 
			
		||||
      "https://cache.nixos.org"
 | 
			
		||||
      "https://hyprland.cachix.org"
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    trusted-public-keys = [
 | 
			
		||||
      "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
 | 
			
		||||
      "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
 | 
			
		||||
    ];
 | 
			
		||||
    builders-use-substitutes = true;
 | 
			
		||||
    download-buffer-size = 524288000;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # do garbage collection weekly to keep disk usage low
 | 
			
		||||
  nix.gc = {
 | 
			
		||||
    automatic = lib.mkDefault true;
 | 
			
		||||
    dates = lib.mkDefault "1 h";
 | 
			
		||||
    options = lib.mkDefault "--delete-older-than +3";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Allow unfree packages
 | 
			
		||||
  nixpkgs.config.allowUnfree = true;
 | 
			
		||||
  nixpkgs.config.allowBroken = true;
 | 
			
		||||
 | 
			
		||||
  nixpkgs.config.permittedInsecurePackages = [
 | 
			
		||||
    "dotnet-sdk-6.0.428"
 | 
			
		||||
    "dotnet-runtime-6.0.36"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    # Enable the OpenSSH daemon.
 | 
			
		||||
    services.openssh = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        settings = {
 | 
			
		||||
          X11Forwarding = true;
 | 
			
		||||
          PermitRootLogin = "no"; # disable root login
 | 
			
		||||
          PasswordAuthentication = false; # disable password login
 | 
			
		||||
        };
 | 
			
		||||
        openFirewall = true;
 | 
			
		||||
  # Enable the OpenSSH daemon.
 | 
			
		||||
  services.openssh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
      X11Forwarding = true;
 | 
			
		||||
      PermitRootLogin = "no"; # disable root login
 | 
			
		||||
      PasswordAuthentication = false; # disable password login
 | 
			
		||||
    };
 | 
			
		||||
    openFirewall = true;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,20 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    # Enable sound with pipewire.
 | 
			
		||||
    #sound.enable = true;
 | 
			
		||||
    hardware.pulseaudio.enable = false;
 | 
			
		||||
    environment.systemPackages = with pkgs; [ pamixer ];
 | 
			
		||||
    services.pipewire = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          #alsa.enable = true;
 | 
			
		||||
          #alsa.support32Bit = true;
 | 
			
		||||
          #pulse.enable = true;
 | 
			
		||||
          # If you want to use JACK applications, uncomment this
 | 
			
		||||
          #jack.enable = true;
 | 
			
		||||
  # Enable sound with pipewire.
 | 
			
		||||
  #sound.enable = true;
 | 
			
		||||
  hardware.pulseaudio.enable = false;
 | 
			
		||||
  environment.systemPackages = with pkgs; [ pamixer ];
 | 
			
		||||
  services.pipewire = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    #alsa.enable = true;
 | 
			
		||||
    #alsa.support32Bit = true;
 | 
			
		||||
    #pulse.enable = true;
 | 
			
		||||
    # If you want to use JACK applications, uncomment this
 | 
			
		||||
    #jack.enable = true;
 | 
			
		||||
 | 
			
		||||
          # use the example session manager (no others are packaged yet so this is enabled by default,
 | 
			
		||||
          # no need to redefine it in your config for now)
 | 
			
		||||
          #media-session.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
    # use the example session manager (no others are packaged yet so this is enabled by default,
 | 
			
		||||
    # no need to redefine it in your config for now)
 | 
			
		||||
    #media-session.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
{ pkgs, ... }: {
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
  boot = {
 | 
			
		||||
 | 
			
		||||
    plymouth = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,34 +1,36 @@
 | 
			
		||||
{ pkgs, ...}:
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
        # Virtualisation 
 | 
			
		||||
        podman-compose # docker-compose alternative
 | 
			
		||||
        dive # docker layer viewer
 | 
			
		||||
        podman-tui # status of containers in terminal
 | 
			
		||||
        podman-desktop # Desktop client
 | 
			
		||||
        tailscale # Vpn
 | 
			
		||||
    ];
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    # Virtualisation
 | 
			
		||||
    virtualisation = {
 | 
			
		||||
        containers.enable = true;
 | 
			
		||||
    podman-compose # docker-compose alternative
 | 
			
		||||
    dive # docker layer viewer
 | 
			
		||||
    podman-tui # status of containers in terminal
 | 
			
		||||
    podman-desktop # Desktop client
 | 
			
		||||
    tailscale # Vpn
 | 
			
		||||
  ];
 | 
			
		||||
  # Virtualisation
 | 
			
		||||
  virtualisation = {
 | 
			
		||||
    containers.enable = true;
 | 
			
		||||
 | 
			
		||||
        podman = {
 | 
			
		||||
            enable = true;
 | 
			
		||||
            dockerCompat = true;
 | 
			
		||||
            defaultNetwork.settings.dns_enabled = true;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        oci-containers = {
 | 
			
		||||
            backend = "podman";
 | 
			
		||||
            containers = {
 | 
			
		||||
                /*container-name = {
 | 
			
		||||
                    image = "image";
 | 
			
		||||
                    autoStart = true;
 | 
			
		||||
                    ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
                };*/
 | 
			
		||||
            };
 | 
			
		||||
        };
 | 
			
		||||
    podman = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      dockerCompat = true;
 | 
			
		||||
      defaultNetwork.settings.dns_enabled = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    oci-containers = {
 | 
			
		||||
      backend = "podman";
 | 
			
		||||
      containers = {
 | 
			
		||||
        /*
 | 
			
		||||
          container-name = {
 | 
			
		||||
              image = "image";
 | 
			
		||||
              autoStart = true;
 | 
			
		||||
              ports = [ "127.0.0.1:1234:1234" ];
 | 
			
		||||
          };
 | 
			
		||||
        */
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,12 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
	environment.systemPackages = with pkgs; [
 | 
			
		||||
		qemu
 | 
			
		||||
		quickemu
 | 
			
		||||
	];
 | 
			
		||||
	systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
 | 
			
		||||
	boot.binfmt.emulatedSystems = [
 | 
			
		||||
		"aarch64-linux"
 | 
			
		||||
		"riscv64-linux"
 | 
			
		||||
	];
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    qemu
 | 
			
		||||
    quickemu
 | 
			
		||||
  ];
 | 
			
		||||
  systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ];
 | 
			
		||||
  boot.binfmt.emulatedSystems = [
 | 
			
		||||
    "aarch64-linux"
 | 
			
		||||
    "riscv64-linux"
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,61 +1,82 @@
 | 
			
		||||
{ pkgs, username, lib, ... }: {
 | 
			
		||||
    /*services.greetd = {
 | 
			
		||||
	enable = true;
 | 
			
		||||
	settings = {
 | 
			
		||||
		default_session = {
 | 
			
		||||
			user = username;
 | 
			
		||||
			command = "$HOME/.wayland-session";
 | 
			
		||||
		};
 | 
			
		||||
	};
 | 
			
		||||
    };*/
 | 
			
		||||
 | 
			
		||||
    services.displayManager = {
 | 
			
		||||
        sessionPackages = [ pkgs.hyprland ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    environment.etc= {
 | 
			
		||||
        "greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
 | 
			
		||||
        "greetd/environments".text = ''
 | 
			
		||||
        hyprland
 | 
			
		||||
        fish
 | 
			
		||||
        '';
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs.regreet = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        cageArgs = ["-s" "-m" "last" ];
 | 
			
		||||
        settings = {
 | 
			
		||||
            background = { 
 | 
			
		||||
                path = "/etc/greetd/background.png";
 | 
			
		||||
                fit = "Fill";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            env.SESSION_DIRS = "$HOME/.wayland-session";
 | 
			
		||||
 | 
			
		||||
            GTK = {
 | 
			
		||||
                application_prefer_dark_theme = true;
 | 
			
		||||
                cursor_theme_name = "Adwaita";
 | 
			
		||||
                font_name = lib.mkForce "FiraCodeNerdFontPropo 12";
 | 
			
		||||
                icon_theme_name = lib.mkForce "materialdesignicons";
 | 
			
		||||
                theme_name = "Adwaita";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            commands = {
 | 
			
		||||
                reboot = ["systemctl" "reboot"];
 | 
			
		||||
                poweroff = ["systemctl" "poweroff"];
 | 
			
		||||
                x11_prefix = [ "startx" "/usr/bin/env" ];
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            appearance = {
 | 
			
		||||
                greeting_msg = "Hey there, Master!";
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            widget.clock = {
 | 
			
		||||
                format = "%A %d.%m.%Y %T";
 | 
			
		||||
                resolution = "500ms";
 | 
			
		||||
                timezone = "Europe/Berlin";
 | 
			
		||||
                label_width = 150;
 | 
			
		||||
            };
 | 
			
		||||
{
 | 
			
		||||
  pkgs,
 | 
			
		||||
  username,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
  /*
 | 
			
		||||
    services.greetd = {
 | 
			
		||||
    	enable = true;
 | 
			
		||||
    	settings = {
 | 
			
		||||
    		default_session = {
 | 
			
		||||
    			user = username;
 | 
			
		||||
    			command = "$HOME/.wayland-session";
 | 
			
		||||
    		};
 | 
			
		||||
    	};
 | 
			
		||||
        };
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
  services.displayManager = {
 | 
			
		||||
    sessionPackages = [ pkgs.hyprland ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  environment.etc = {
 | 
			
		||||
    "greetd/background.png".source = ../../wallpapers/lucy_with_cat.png;
 | 
			
		||||
    "greetd/environments".text = ''
 | 
			
		||||
      hyprland
 | 
			
		||||
      fish
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.regreet = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    cageArgs = [
 | 
			
		||||
      "-s"
 | 
			
		||||
      "-m"
 | 
			
		||||
      "last"
 | 
			
		||||
    ];
 | 
			
		||||
    settings = {
 | 
			
		||||
      background = {
 | 
			
		||||
        path = "/etc/greetd/background.png";
 | 
			
		||||
        fit = "Fill";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      env.SESSION_DIRS = "$HOME/.wayland-session";
 | 
			
		||||
 | 
			
		||||
      GTK = {
 | 
			
		||||
        application_prefer_dark_theme = true;
 | 
			
		||||
        cursor_theme_name = "Adwaita";
 | 
			
		||||
        font_name = lib.mkForce "FiraCodeNerdFontPropo 12";
 | 
			
		||||
        icon_theme_name = lib.mkForce "materialdesignicons";
 | 
			
		||||
        theme_name = "Adwaita";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      commands = {
 | 
			
		||||
        reboot = [
 | 
			
		||||
          "systemctl"
 | 
			
		||||
          "reboot"
 | 
			
		||||
        ];
 | 
			
		||||
        poweroff = [
 | 
			
		||||
          "systemctl"
 | 
			
		||||
          "poweroff"
 | 
			
		||||
        ];
 | 
			
		||||
        x11_prefix = [
 | 
			
		||||
          "startx"
 | 
			
		||||
          "/usr/bin/env"
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      appearance = {
 | 
			
		||||
        greeting_msg = "Hey there, Master!";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      widget.clock = {
 | 
			
		||||
        format = "%A %d.%m.%Y %T";
 | 
			
		||||
        resolution = "500ms";
 | 
			
		||||
        timezone = "Europe/Berlin";
 | 
			
		||||
        label_width = 150;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,18 +1,18 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    services = {
 | 
			
		||||
        dbus.packages = [pkgs.gcr];
 | 
			
		||||
        
 | 
			
		||||
#        flatpak.enable = true;
 | 
			
		||||
#        xdg.portals.enable = true;
 | 
			
		||||
        geoclue2.enable = true;           	
 | 
			
		||||
        xserver.enable = true;
 | 
			
		||||
  services = {
 | 
			
		||||
    dbus.packages = [ pkgs.gcr ];
 | 
			
		||||
 | 
			
		||||
        udev.packages = with pkgs; [pkgs.gnome-settings-daemon];
 | 
			
		||||
    #        flatpak.enable = true;
 | 
			
		||||
    #        xdg.portals.enable = true;
 | 
			
		||||
    geoclue2.enable = true;
 | 
			
		||||
    xserver.enable = true;
 | 
			
		||||
 | 
			
		||||
        # Enable CUPS to print documents.
 | 
			
		||||
        printing.enable = true;
 | 
			
		||||
    udev.packages = with pkgs; [ pkgs.gnome-settings-daemon ];
 | 
			
		||||
 | 
			
		||||
        power-profiles-daemon.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
    # Enable CUPS to print documents.
 | 
			
		||||
    printing.enable = true;
 | 
			
		||||
 | 
			
		||||
    power-profiles-daemon.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,85 +3,97 @@
 | 
			
		||||
  lib,
 | 
			
		||||
  username,
 | 
			
		||||
  ...
 | 
			
		||||
}: 
 | 
			
		||||
}:
 | 
			
		||||
{
 | 
			
		||||
# ============================= User related =============================
 | 
			
		||||
  # ============================= User related =============================
 | 
			
		||||
 | 
			
		||||
# Define a user account. Don't forget to set a password with ‘passwd’.
 | 
			
		||||
    users.users.${username} = {
 | 
			
		||||
        isNormalUser = true;
 | 
			
		||||
        description = username;
 | 
			
		||||
        extraGroups = ["networkmanager" "wheel" "podman"];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs.steam.enable = true;
 | 
			
		||||
    programs.dconf.enable = true;
 | 
			
		||||
 | 
			
		||||
# 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.
 | 
			
		||||
        wget
 | 
			
		||||
        git
 | 
			
		||||
 | 
			
		||||
        # System tools
 | 
			
		||||
        sysstat
 | 
			
		||||
        lm_sensors # for `sensors` command
 | 
			
		||||
        ethtool
 | 
			
		||||
        pciutils # lspci
 | 
			
		||||
        usbutils # lsusb
 | 
			
		||||
        lshw
 | 
			
		||||
        nvme-cli
 | 
			
		||||
        smartmontools
 | 
			
		||||
        bluez
 | 
			
		||||
 | 
			
		||||
        # Graphics
 | 
			
		||||
        libGL
 | 
			
		||||
        glxinfo
 | 
			
		||||
 | 
			
		||||
        # Rizz
 | 
			
		||||
        fastfetch
 | 
			
		||||
        cpufetch
 | 
			
		||||
        hyfetch
 | 
			
		||||
        ramfetch
 | 
			
		||||
        neofetch
 | 
			
		||||
        ghfetch
 | 
			
		||||
        libnotify
 | 
			
		||||
 | 
			
		||||
        # Terminal
 | 
			
		||||
        yazi # file manager
 | 
			
		||||
        jq # JSON Parser
 | 
			
		||||
        yq-go # YAML Parser
 | 
			
		||||
        glow # Markdown Reader
 | 
			
		||||
        btop # system monitor
 | 
			
		||||
        iotop # iomonitor
 | 
			
		||||
        iftop # network monitor
 | 
			
		||||
        iperf3 # network tester
 | 
			
		||||
        nmap # network discovery
 | 
			
		||||
        eza # ls replacement
 | 
			
		||||
        curl
 | 
			
		||||
        dnsutils
 | 
			
		||||
        ldns
 | 
			
		||||
        file
 | 
			
		||||
        which
 | 
			
		||||
        tree
 | 
			
		||||
        gnused
 | 
			
		||||
        gnutar
 | 
			
		||||
        gawk
 | 
			
		||||
        zstd
 | 
			
		||||
        gnupg
 | 
			
		||||
        fzf
 | 
			
		||||
 | 
			
		||||
        # Archives
 | 
			
		||||
        zip
 | 
			
		||||
        unzip
 | 
			
		||||
        p7zip
 | 
			
		||||
        xz
 | 
			
		||||
 | 
			
		||||
        postman
 | 
			
		||||
  # Define a user account. Don't forget to set a password with ‘passwd’.
 | 
			
		||||
  users.users.${username} = {
 | 
			
		||||
    isNormalUser = true;
 | 
			
		||||
    description = username;
 | 
			
		||||
    extraGroups = [
 | 
			
		||||
      "networkmanager"
 | 
			
		||||
      "wheel"
 | 
			
		||||
      "podman"
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
    security.polkit.enable = true;
 | 
			
		||||
    security.rtkit.enable = true;
 | 
			
		||||
  programs.steam.enable = true;
 | 
			
		||||
  programs.dconf.enable = true;
 | 
			
		||||
 | 
			
		||||
  # 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.
 | 
			
		||||
    wget
 | 
			
		||||
    git
 | 
			
		||||
 | 
			
		||||
    # System tools
 | 
			
		||||
    sysstat
 | 
			
		||||
    lm_sensors # for `sensors` command
 | 
			
		||||
    ethtool
 | 
			
		||||
    pciutils # lspci
 | 
			
		||||
    usbutils # lsusb
 | 
			
		||||
    lshw
 | 
			
		||||
    nvme-cli
 | 
			
		||||
    smartmontools
 | 
			
		||||
    bluez
 | 
			
		||||
 | 
			
		||||
    # Graphics
 | 
			
		||||
    libGL
 | 
			
		||||
    glxinfo
 | 
			
		||||
 | 
			
		||||
    # Rizz
 | 
			
		||||
    fastfetch
 | 
			
		||||
    cpufetch
 | 
			
		||||
    hyfetch
 | 
			
		||||
    ramfetch
 | 
			
		||||
    neofetch
 | 
			
		||||
    ghfetch
 | 
			
		||||
    libnotify
 | 
			
		||||
 | 
			
		||||
    # Terminal
 | 
			
		||||
    yazi # file manager
 | 
			
		||||
    jq # JSON Parser
 | 
			
		||||
    yq-go # YAML Parser
 | 
			
		||||
    glow # Markdown Reader
 | 
			
		||||
    btop # system monitor
 | 
			
		||||
    iotop # iomonitor
 | 
			
		||||
    iftop # network monitor
 | 
			
		||||
    iperf3 # network tester
 | 
			
		||||
    nmap # network discovery
 | 
			
		||||
    eza # ls replacement
 | 
			
		||||
    curl
 | 
			
		||||
    dnsutils
 | 
			
		||||
    ldns
 | 
			
		||||
    file
 | 
			
		||||
    which
 | 
			
		||||
    tree
 | 
			
		||||
    gnused
 | 
			
		||||
    gnutar
 | 
			
		||||
    gawk
 | 
			
		||||
    zstd
 | 
			
		||||
    gnupg
 | 
			
		||||
    fzf
 | 
			
		||||
 | 
			
		||||
    # nix related
 | 
			
		||||
    nix-index
 | 
			
		||||
    nix-tree
 | 
			
		||||
    nix-health
 | 
			
		||||
 | 
			
		||||
    # Archives
 | 
			
		||||
    zip
 | 
			
		||||
    unzip
 | 
			
		||||
    p7zip
 | 
			
		||||
    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;
 | 
			
		||||
  programs.thunderbird.enable = true;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
{ pkgs, ... }:
 | 
			
		||||
{
 | 
			
		||||
    services.tailscale = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        openFirewall = true;
 | 
			
		||||
    };
 | 
			
		||||
  services.tailscale = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    openFirewall = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user