2023-05-23 18:11:30 +02:00
{ pkgs , lib , repoFlake , nodeFlake , . . . }: {
2023-04-15 12:21:22 +02:00
home-manager . users . steveej = _ : {
imports = [
../../../home-manager/configuration/graphical-fullblown.nix
( _ : {
programs . chromium . extensions = [
# can define host-specific extensions here
] ;
} )
] ;
2023-02-07 18:24:28 +01:00
} ;
2023-04-15 12:21:22 +02:00
2023-05-23 18:11:30 +02:00
# TODO: fix the following errors with regreet
#
# Failed to create /var/empty/.cache for shader cache (Operation not permitted)---disabling.
# amdgpu: amdgpu_cs_ctx_create2 failed. (-13)
# Failed to create /var/empty/.cache for shader cache (Operation not permitted)---disabling.
# ERROR: Couldn't create log file '/var/log/regreet/log': Permission denied (os error 13)
# 2023-05-22T10:31:42.52900769+02:00 WARN regreet::tomlutils: Missing TOML file: /var/cache/regreet/cache.toml
# 2023-05-22T10:31:42.52902325+02:00 WARN regreet::tomlutils: Missing TOML file: /etc/greetd/regreet.toml
#
# (regreet:505614): Gtk-WARNING **: 10:31:42.532: Theme parser warning: <data>:6:17-18: Empty declaration
# Failed to create /var/empty/.cache for shader cache (Operation not permitted)---disabling.
services . greetd =
let
# exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l; swaymsg exit"
swayConfig = pkgs . writeText " g r e e t d - s w a y - c o n f i g " ''
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
exec " d b u s - u p d a t e - a c t i v a t i o n - e n v i r o n m e n t - - s y s t e m d D I S P L A Y W A Y L A N D _ D I S P L A Y S W A Y S O C K ; ${ pkgs . greetd . regreet } / b i n / r e g r e e t ; s w a y m s g e x i t "
bindsym Mod4 + shift + e exec swaynag \
- t warning \
- m ' What do you want to do ? ' \
- b ' Poweroff' ' systemctl poweroff' \
- b ' Reboot' ' systemctl reboot'
'' ;
in {
enable = false ;
settings = {
vt = 1 ;
default_session = {
command = " ${ pkgs . sway } / b i n / s w a y - - c o n f i g ${ swayConfig } " ;
} ;
2023-05-21 11:58:57 +02:00
} ;
} ;
environment . etc . " g r e e t d / e n v i r o n m e n t s " . text = ''
sway
'' ;
2023-05-23 18:11:30 +02:00
# fonts = let
# prefs.font = rec {
# size = 13;
# default = sans;
# sans = { family = "Noto Sans"; package = pkgs.noto-fonts; };
# serif = { family = "Noto Serif"; package = pkgs.noto-fonts; };
# # monospace = { family = "Iosevka Fixed"; package = pkgs.iosevka-bin; };
# monospace = { family = "Iosevka Comfy Fixed"; package = pkgs.iosevka-comfy.comfy-fixed; };
# # monospace = { family = "Go Mono"; package = pkgs.go-font; };
# # monospace = { family = "Jetbrains Mono"; package = pkgs.jetbrains-mono; };
# fallback = { family = "Font Awesome 5 Free"; package = pkgs.font-awesome; };
# emoji = { family = "Noto Color Emoji"; package = pkgs.noto-fonts-emoji; };
#
# allPackages = (map (p: p.package)
# [
# default
# sans
# serif
# monospace
# fallback
# emoji
# ]) ++
# (with pkgs; [
# liberation_ttf # free corefonts-metric-compatible replacement
# ttf_bitstream_vera
# gelasio # metric-compatible with Georgia
# powerline-symbols
# ]);
# };
# in {
# # fonts = prefs.font.allPackages;
# # fontconfig = {
# # enable = true;
# # defaultFonts = {
# # serif = [ prefs.font.serif.family ];
# # sansSerif = [ prefs.font.sans.family ];
# # monospace = [ prefs.font.monospace.family ];
# # emoji = [ prefs.font.emoji.family ];
# # };
# # };
# };
security . pam . services . getty . enableGnomeKeyring = true ;
services . gnome . gnome-keyring . enable = true ;
# rtkit is optional but recommended
security . rtkit . enable = true ;
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;
} ;
2023-05-21 11:58:57 +02:00
# required by swaywm
security . polkit . enable = true ;
security . pam . services . swaylock = { } ;
2023-05-23 18:11:30 +02:00
# test these on https://mozilla.github.io/webrtc-landing/gum_test.html
xdg . portal = {
enable = true ;
# FIXME: `true` breaks xdg-open from alacritty:
# $ xdg-open "https://github.com/"
# Error: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.OpenURI” on object at path /org/freedesktop/portal/desktop
xdgOpenUsePortal = false ;
extraPortals = [
pkgs . xdg-desktop-portal-wlr
pkgs . xdg-desktop-portal-gtk
# repoFlake.inputs.nixpkgs-wayland.packages.${pkgs.system}.xdg-desktop-portal-wlr
# (pkgs.xdg-desktop-portal-gtk.override (_: {
# buildPortalsInGnome = false;
# }))
] ;
} ;
2023-04-15 12:21:22 +02:00
2023-05-23 18:11:30 +02:00
system . stateVersion = " 2 3 . 0 5 " ;
2020-12-21 14:35:50 +01:00
}