initial commit

This commit is contained in:
DashieTM 2024-04-15 18:52:30 +02:00
parent 6671b54dd2
commit e50591b2ec
162 changed files with 922 additions and 6328 deletions

13
nix/base/big_g.nix Normal file
View file

@ -0,0 +1,13 @@
{ pkgs, ... }: {
services = {
# needed for GNOME services outside of GNOME Desktop
dbus.packages = with pkgs; [
gcr
gnome.gnome-settings-daemon
];
gnome.gnome-keyring.enable = true;
gvfs.enable = true;
};
}

12
nix/base/default.nix Normal file
View file

@ -0,0 +1,12 @@
{ lib
, pkgs
, ...
}: {
imports = [
./login_manager.nix
./big_g.nix
./env.nix
./xkb_layout.nix
../hardware/streamdeck.nix
];
}

14
nix/base/env.nix Normal file
View file

@ -0,0 +1,14 @@
{ lib
, pkgs
, ...
}: {
environment.variables = {
GSETTINGS_SCHEMA_DIR = "${pkgs.glib.getSchemaPath pkgs.gsettings-desktop-schemas}";
NEOVIDE_MAXIMIZED = "0";
GPG_TTY = "$(tty)";
EDITOR = "neovide --no-fork";
SUDO_EDITOR = "neovide --no-fork";
SCRIPTS = "$HOME/.config/scripts";
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

View file

@ -0,0 +1,24 @@
{pkgs,
config,
lib,
...
}: {
# greetd display manager
services.greetd = let
session = {
command = "${pkgs.hyprland}/bin/Hyprland --config /home/dashie/.config/hypr/hyprgreet.conf";
user = "dashie";
};
in {
enable = true;
settings = {
terminal.vt = 1;
default_session = session;
initial_session = session;
};
};
programs.regreet.enable = true;
# unlock GPG keyring on login
security.pam.services.greetd.enableGnomeKeyring = true;
}

27
nix/base/xkb_layout.nix Normal file
View file

@ -0,0 +1,27 @@
{ pkgs
, ...
}:
let
customKeyboardLayout = pkgs.writeText "us_int" ''
xkb_symbols "us_int"
{
include "us(basic)"
key <AC11> {[ apostrophe, dead_diaeresis, apostrophe, quotedouble ] };
key <TLDE> {[ grave, asciitilde ] };
};
'';
compiledLayout = pkgs.runCommand "keyboard-layout" { } ''
${pkgs.xorg.xkbcomp}/bin/xkbcomp ${customKeyboardLayout} $out
'';
in
{
environment.systemPackages = [ pkgs.xorg.xkbcomp ];
services.xserver.xkb.extraLayouts.us_int = {
description = "US layout with 'umlaut'";
languages = [ "eng" ];
#symbolsFile = ${customKeyboardLayout};
symbolsFile = /home/dashie/.config/symbols/us_int;
};
#services.xserver.displayManager.sessionCommands = "${pkgs.xorg.xkbcomp}/bin/xkbcomp ${compiledLayout} $DISPLAY";
}