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;
};
systemd.user.sessionVariables.TERMINAL = "alacritty";
home.sessionVariables.TERMINAL = "alacritty";
};
}

View File

@ -26,7 +26,7 @@ in
];
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 = {
enable = true;
wallpapers = ./wallpapers;

View File

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

View File

@ -21,32 +21,19 @@
}:
let
cfg = config.modules.greetd;
cfg = config.modules.gdm;
in
{
options.modules.greetd = {
options.modules.gdm = {
enable = lib.mkOption { default = false; };
};
config = lib.mkIf cfg.enable {
# greetd display manager
services.greetd =
let
session = {
command = "${lib.getExe config.programs.hyprland.package}";
user = "julian";
};
in
{
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
};
};
services.xserver.displayManager.gdm = {
enable = true;
};
# 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.xwayland.enable = true;
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;
# thunar.enable = true;
pcmanfm.enable = true;
# i3.enable = true;
# gdm.enable = true;
wayland.enable = true;
hyprland.enable = true;
# i3.enable = true;
tuigreet.enable = true;
};
nix.settings.auto-optimise-store = true;
@ -100,15 +104,11 @@
hardware.opengl.enable = true;
services.xserver.wacom.enable = true;
# services.xserver.xautolock = { # TODO: does not work
# enable = true;
# time = 1;
# };
# Configure keymap in X11
services.xserver = {
enable = true;
displayManager.gdm.enable = true;
# Configure keymap in X11
xkb.layout = "de";
xkb.variant = "";
};
@ -119,8 +119,6 @@
options = "--delete-older-than 30d";
};
security.pam.services.gdm.enableGnomeKeyring = true;
services.blueman.enable = true;
services.upower.enable = true;