Compare commits

...

5 Commits

Author SHA1 Message Date
42b5dfeee7 improve sessionVariable declaration
Without this, on wayland I cannot access these vars from the Terminal
2024-10-05 22:03:36 +02:00
7f73da037b Delete unused greetd module 2024-10-05 21:56:16 +02:00
f05eae5b83 Clean up gdm config and disable gdm 2024-10-05 21:56:06 +02:00
739901d174 Add tuigreet module 2024-10-05 21:55:29 +02:00
7b4d461ba1 wayland: use hyprshot-gui instead of grimblast 2024-10-05 21:54:33 +02:00
10 changed files with 120 additions and 34 deletions

View File

@ -35,6 +35,6 @@ in
".config/alacritty/alacritty.toml".source = ./alacritty.toml; ".config/alacritty/alacritty.toml".source = ./alacritty.toml;
}; };
systemd.user.sessionVariables.TERMINAL = "alacritty"; home.sessionVariables.TERMINAL = "alacritty";
}; };
} }

View File

@ -26,7 +26,7 @@ in
]; ];
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# systemd.user.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark"; # home.sessionVariables.GTK_THEME = "Catppuccin-Mocha-Compact-Blue-dark";
prism = { prism = {
enable = true; enable = true;
wallpapers = ./wallpapers; wallpapers = ./wallpapers;

View File

@ -46,7 +46,8 @@ in
# hyprpicker # TODO # hyprpicker # TODO
# hyprcursor # TODO # hyprcursor # TODO
brightnessctl brightnessctl
grimblast # grimblast
frajul.hyprshot-gui
]; ];
# services.hypridle = { # services.hypridle = {
@ -216,7 +217,7 @@ in
"$mod, Escape, exec, wlogout -p layer-shell" "$mod, Escape, exec, wlogout -p layer-shell"
"$mod, TAB, exec, hyprlock" "$mod, TAB, exec, hyprlock"
"$mod SHIFT, R, exec, hyprctl reload" "$mod SHIFT, R, exec, hyprctl reload"
", Print, exec, grimblast --notify copysave area" ", Print, exec, hyprshot-gui"
# "$mod SHIFT, E, exec, pkill Hyprland" # "$mod SHIFT, E, exec, pkill Hyprland"
# "$mod, G, togglegroup," # "$mod, G, togglegroup,"

View File

@ -43,6 +43,6 @@ in
}; };
}; };
systemd.user.sessionVariables.TERMINAL = "kitty"; home.sessionVariables.TERMINAL = "kitty";
}; };
} }

View File

@ -47,7 +47,7 @@ in
''; '';
}; };
systemd.user.sessionVariables.TERMINAL = "wezterm-start-here"; home.sessionVariables.TERMINAL = "wezterm-start-here";
# Otherwise wezterm does not start in directory of parent process # Otherwise wezterm does not start in directory of parent process
home.packages = [ home.packages = [

View File

@ -21,32 +21,19 @@
}: }:
let let
cfg = config.modules.greetd; cfg = config.modules.gdm;
in in
{ {
options.modules.greetd = { options.modules.gdm = {
enable = lib.mkOption { default = false; }; enable = lib.mkOption { default = false; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
# greetd display manager services.xserver.displayManager.gdm = {
services.greetd = enable = true;
let };
session = {
command = "${lib.getExe config.programs.hyprland.package}";
user = "julian";
};
in
{
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
};
};
# unlock GPG keyring on login # unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true; security.pam.services.gdm.enableGnomeKeyring = true;
}; };
} }

View File

@ -33,5 +33,6 @@ in
# programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland; # does only work with nixos-unstable # programs.hyprland.package = inputs.hyprland.packages.${pkgs.system}.hyprland; # does only work with nixos-unstable
programs.hyprland.xwayland.enable = true; programs.hyprland.xwayland.enable = true;
security.pam.services.hyprlock = { }; security.pam.services.hyprlock = { };
services.displayManager.defaultSession = "hyprland";
}; };
} }

View File

@ -0,0 +1,57 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
# Additional metadata is provided by Snowfall Lib.
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
system, # The system architecture for this host (eg. `x86_64-linux`).
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
format, # A normalized name for the system target (eg. `iso`).
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
systems, # An attribute map of your defined hosts.
# All other arguments come from the module system.
config,
...
}:
let
cfg = config.modules.tuigreet;
in
{
options.modules.tuigreet = {
enable = lib.mkOption { default = false; };
};
config = lib.mkIf cfg.enable {
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${lib.getExe pkgs.greetd.tuigreet} --time --remember --remember-session --cmd hyprland";
user = "greeter";
};
};
};
# https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/
systemd.services.greetd.serviceConfig = {
Type = "idle";
StandardInput = "tty";
StandardOutput = "tty";
StandardError = "journal"; # Without this errors will spam on screen
# Without these bootlogs will spam on screen
TTYReset = true;
TTYVHangup = true;
TTYVTDisallocate = true;
};
# unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true;
};
}

View File

@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
pkgs,
...
}:
stdenv.mkDerivation rec {
pname = "hyprshot-gui";
version = "2023-10-20";
src = fetchFromGitHub {
owner = "ThatOneCalculator";
repo = pname;
rev = "30a9bc377c1c0a3ad05c63945f2fe92709a99d7b";
sha256 = "sha256-XUy6+mFbNL+3zDfS4tWva4DiJeLnRM9S8ECRayTcPfI=";
};
nativeBuildInputs = with pkgs; [ makeWrapper ];
buildInputs = with pkgs; [
bash
hyprshot
gnome.zenity
];
dontBuild = true;
installPhase = ''
mkdir -p $out/bin
cp hyprshot-gui $out/bin/hyprshot-gui
wrapProgram $out/bin/hyprshot-gui --prefix PATH : '${lib.makeBinPath buildInputs}'
'';
meta = with lib; {
description = "A simple shell script";
homepage = "https://github.com/ThatOneCalculator/hyprshot-gui";
platforms = platforms.all;
mainProgram = "hyprshot-gui";
# maintainers
};
}

View File

@ -73,9 +73,13 @@
locales.enable = true; locales.enable = true;
# thunar.enable = true; # thunar.enable = true;
pcmanfm.enable = true; pcmanfm.enable = true;
# i3.enable = true;
# gdm.enable = true;
wayland.enable = true; wayland.enable = true;
hyprland.enable = true; hyprland.enable = true;
# i3.enable = true; tuigreet.enable = true;
}; };
nix.settings.auto-optimise-store = true; nix.settings.auto-optimise-store = true;
@ -100,15 +104,11 @@
hardware.opengl.enable = true; hardware.opengl.enable = true;
services.xserver.wacom.enable = true; services.xserver.wacom.enable = true;
# services.xserver.xautolock = { # TODO: does not work
# enable = true;
# time = 1;
# };
# Configure keymap in X11
services.xserver = { services.xserver = {
enable = true; enable = true;
displayManager.gdm.enable = true;
# Configure keymap in X11
xkb.layout = "de"; xkb.layout = "de";
xkb.variant = ""; xkb.variant = "";
}; };
@ -119,8 +119,6 @@
options = "--delete-older-than 30d"; options = "--delete-older-than 30d";
}; };
security.pam.services.gdm.enableGnomeKeyring = true;
services.blueman.enable = true; services.blueman.enable = true;
services.upower.enable = true; services.upower.enable = true;