feat(nix): extend wayland with sway setup
This commit is contained in:
parent
2da1181445
commit
6970b8c7d2
27 changed files with 867 additions and 516 deletions
|
@ -9,6 +9,6 @@ let
|
|||
imports = lib.mapAttrsToList toImport (lib.filterAttrs filterCaches (builtins.readDir folder));
|
||||
in {
|
||||
inherit imports;
|
||||
nix.binaryCaches = ["https://cache.nixos.org/"];
|
||||
nix.settings.substituters = ["https://cache.nixos.org/"];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
|
||||
{
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
settings.substituters = [
|
||||
"https://nixpkgs-wayland.cachix.org"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
settings.trusted-public-keys = [
|
||||
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
imports = [
|
||||
../../profiles/common/configuration.nix
|
||||
../../profiles/graphical/configuration.nix
|
||||
../../profiles/graphical-gnome-xorg.nix
|
||||
../../modules/opinionatedDisk.nix
|
||||
|
||||
./system.nix
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
imports = [
|
||||
../../profiles/common/configuration.nix
|
||||
../../profiles/graphical/configuration.nix
|
||||
../../profiles/graphical-gnome-xorg.nix
|
||||
|
||||
./system.nix
|
||||
./hw.nix
|
||||
|
|
|
@ -10,6 +10,5 @@
|
|||
home-manager.users.steveej = import ../../../home-manager/configuration/graphical-fullblown.nix {
|
||||
inherit pkgs;
|
||||
};
|
||||
services.teamviewer.enable = true;
|
||||
system.stateVersion = "20.09";
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
../../profiles/common/configuration.nix
|
||||
../../profiles/graphical/configuration.nix
|
||||
../../modules/opinionatedDisk.nix
|
||||
../../cachix.nix
|
||||
|
||||
./system.nix
|
||||
./hw.nix
|
||||
|
|
|
@ -5,18 +5,25 @@
|
|||
nodeFlake = repoFlake.inputs.get-flake ./.;
|
||||
in {
|
||||
meta.nodeSpecialArgs.${nodeName} = {
|
||||
inherit nodeName nodeFlake;
|
||||
inherit repoFlake nodeName nodeFlake;
|
||||
packages' = repoFlake.packages.${system};
|
||||
};
|
||||
|
||||
meta.nodeNixpkgs.${nodeName} = import nodeFlake.inputs.nixpkgs.outPath {
|
||||
inherit system;
|
||||
overlays = [
|
||||
(final: prev: {
|
||||
# FIXME: why are these not effective in for the configuration.nix below?
|
||||
xdg-desktop-portal-wlr' = repoFlake.inputs.nixpkgs-wayland.packages.${system}.xdg-desktop-portal-wlr;
|
||||
xdg-desktop-portal-wlr-gtk' = repoFlake.inputs.nixpkgs-wayland.packages.${system}.xdg-desktop-portal-wlr-gtk;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
${nodeName} = {
|
||||
deployment.targetHost = nodeName;
|
||||
deployment.replaceUnknownProfiles = false;
|
||||
# deployment.allowLocalDeployment = true;
|
||||
deployment.allowLocalDeployment = true;
|
||||
|
||||
imports = [
|
||||
(repoFlake + "/nix/os/devices/${nodeName}/configuration.nix")
|
||||
|
|
25
nix/os/devices/steveej-t14/flake.lock
generated
25
nix/os/devices/steveej-t14/flake.lock
generated
|
@ -37,13 +37,29 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"nixpkgs-2211": {
|
||||
"locked": {
|
||||
"lastModified": 1684756366,
|
||||
"narHash": "sha256-aua/NybNHOJdZ0whu2qRfFOFqgjVUZ65D4xg3i3nZS0=",
|
||||
"lastModified": 1684580438,
|
||||
"narHash": "sha256-LUPswmDn6fXP3lEBJFA2Id8PkcYDgzUilevWackYVvQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e8d32cbe6678eb66f8def22cce43422c4b64957f",
|
||||
"rev": "7dc71aef32e8faf065cb171700792cf8a65c152d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-22.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1684758073,
|
||||
"narHash": "sha256-LFm53sqiZoWRMNPjIDhqJvXgCcdsmMw7rbSZFhLRuJw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f491fc656a0b48c40e0312d559380d4ad46c4447",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -73,6 +89,7 @@
|
|||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-2211": "nixpkgs-2211",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{
|
||||
inputs.nixpkgs-2211.url = "github:nixos/nixpkgs/nixos-22.11";
|
||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
inputs.nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable-small";
|
||||
inputs.nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, lib, ...}: {
|
||||
{pkgs, lib, repoFlake, nodeFlake, ...}: {
|
||||
home-manager.users.steveej = _: {
|
||||
imports = [
|
||||
../../../home-manager/configuration/graphical-fullblown.nix
|
||||
|
@ -11,89 +11,122 @@
|
|||
];
|
||||
};
|
||||
|
||||
# TODO: delegate graphical session to home-manager config (mostly)
|
||||
|
||||
# FIXME: move this to home-manager entirely
|
||||
# programs.sway.enable = true;
|
||||
# programs.sway.package = null;
|
||||
|
||||
services.xserver = {
|
||||
enable = lib.mkForce false;
|
||||
|
||||
desktopManager = {
|
||||
gnome.enable = lib.mkForce false;
|
||||
xterm.enable = lib.mkForce false;
|
||||
|
||||
# FIXME: gnome should be moved to user session
|
||||
# gnome.enable = true;
|
||||
# xterm.enable = true;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
# gdm.enable = lib.mkForce false;
|
||||
|
||||
# FIXME: does the home-manager session have an explicit name?
|
||||
# defaultSession = "xterm";
|
||||
|
||||
# autoLogin = {
|
||||
# enable = true;
|
||||
# user = "steveej";
|
||||
# };
|
||||
|
||||
# session = [
|
||||
# {
|
||||
# manage = "desktop";
|
||||
# name = "xsession";
|
||||
# start = "";
|
||||
# }
|
||||
# ];
|
||||
};
|
||||
};
|
||||
|
||||
services.greetd =
|
||||
let
|
||||
# exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l; swaymsg exit"
|
||||
swayConfig = pkgs.writeText "greetd-sway-config" ''
|
||||
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
||||
exec "dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK; ${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
||||
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 = true;
|
||||
settings = {
|
||||
vt = 1;
|
||||
default_session = {
|
||||
command = "${pkgs.sway}/bin/sway --config ${swayConfig}";
|
||||
# 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 "greetd-sway-config" ''
|
||||
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
||||
exec "dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK; ${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
||||
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}/bin/sway --config ${swayConfig}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
environment.etc."greetd/environments".text = ''
|
||||
sway
|
||||
jay
|
||||
'';
|
||||
|
||||
# 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;
|
||||
};
|
||||
|
||||
# required by swaywm
|
||||
security.polkit.enable = true;
|
||||
|
||||
security.pam.services.swaylock = { };
|
||||
|
||||
services.teamviewer.enable = false;
|
||||
system.stateVersion = "20.09";
|
||||
# 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;
|
||||
# }))
|
||||
];
|
||||
};
|
||||
|
||||
# TODO: move this into home-manager
|
||||
environment.systemPackages = with pkgs.gnomeExtensions; [
|
||||
pop-shell
|
||||
vitals
|
||||
soft-brightness
|
||||
|
||||
# TODO: currently not compatible
|
||||
# window-switcher-current-workspace-first
|
||||
# mmod-panel
|
||||
];
|
||||
system.stateVersion = "23.05";
|
||||
}
|
||||
|
|
|
@ -7,19 +7,19 @@
|
|||
}: let
|
||||
passwords = import ../../../variables/passwords.crypt.nix;
|
||||
in {
|
||||
nix = {
|
||||
binaryCaches = [
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://holochain-ci.cachix.org"
|
||||
# "https://cache.holo.host/"
|
||||
];
|
||||
binaryCachePublicKeys = [
|
||||
trusted-public-keys = [
|
||||
"holochain-ci.cachix.org-1:5IUSkZc0aoRS53rfkvH9Kid40NpyjwCMCzwRTXy+QN8="
|
||||
# "cache.holo.host-1:lNXIXtJgS9Iuw4Cu6X0HINLu9sTfcjEntnrgwMQIMcE="
|
||||
# "cache.holo.host-2:ZJCkX3AUYZ8soxTLfTb60g+F3MkWD7hkH9y8CgqwhDQ="
|
||||
];
|
||||
|
||||
settings.extra-experimental-features = ["impure-derivations"];
|
||||
settings.system-features = ["recursive-nix"];
|
||||
extra-experimental-features = ["impure-derivations"];
|
||||
system-features = ["recursive-nix"];
|
||||
};
|
||||
|
||||
networking.bridges."virbr1".interfaces = [];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
flake,
|
||||
pkgs,
|
||||
# these come in via nodeSpecialArgs and are expected to be defined for every node
|
||||
repoFlake,
|
||||
nodeFlake,
|
||||
packages',
|
||||
...
|
||||
|
@ -19,6 +19,7 @@
|
|||
# hence, opt for passing the arguments selectively instead
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit
|
||||
repoFlake
|
||||
packages'
|
||||
nodeFlake
|
||||
;
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
libinput.enable = true;
|
||||
libinput.touchpad.naturalScrolling = true;
|
||||
|
||||
videoDrivers = [
|
||||
"qxl"
|
||||
"modesetting"
|
||||
"ati"
|
||||
"cirrus"
|
||||
"intel"
|
||||
"vesa"
|
||||
"vmware"
|
||||
"modesetting"
|
||||
];
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
xkbOptions = "nodeadkeys";
|
||||
|
||||
desktopManager = {
|
||||
# FIXME: gnome should be moved to user session
|
||||
gnome.enable = true;
|
||||
|
||||
xterm.enable = true;
|
||||
plasma5.enable = false;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
gdm.enable = true;
|
||||
gdm.wayland = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# gnome, most of it is disabled and ideally it could live entirely in the user's home config
|
||||
programs.gpaste.enable = false;
|
||||
programs.gnome-terminal.enable = false;
|
||||
# programs.gnome-documents.enable = false;
|
||||
programs.gnome-disks.enable = false;
|
||||
|
||||
# TODO: fully delegate graphical session to home-manager config
|
||||
services.gnome = {
|
||||
gnome-online-miners.enable = lib.mkForce false;
|
||||
games.enable = false;
|
||||
gnome-remote-desktop.enable = false;
|
||||
gnome-user-share.enable = false;
|
||||
rygel.enable = false;
|
||||
sushi.enable = false;
|
||||
tracker.enable = false;
|
||||
tracker-miners.enable = false;
|
||||
|
||||
gnome-browser-connector.enable = false;
|
||||
gnome-initial-setup.enable = false;
|
||||
|
||||
# FIXME: gnome should be moved to home config
|
||||
gnome-settings-daemon.enable = true;
|
||||
core-os-services.enable = true;
|
||||
at-spi2-core.enable = true;
|
||||
evolution-data-server.enable = true;
|
||||
gnome-online-accounts.enable = true;
|
||||
gnome-keyring.enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
# FIXME: gnome should be moved to user session
|
||||
services.gvfs.enable = true;
|
||||
programs.seahorse.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
environment.gnome.excludePackages =
|
||||
(with pkgs; [
|
||||
orca
|
||||
gnome-photos
|
||||
gnome-tour
|
||||
])
|
||||
++ (with pkgs.gnome; [
|
||||
cheese # webcam tool
|
||||
gnome-music
|
||||
gnome-terminal
|
||||
gedit # text editor
|
||||
epiphany # web browser
|
||||
geary # email reader
|
||||
evince # document viewer
|
||||
gnome-characters
|
||||
totem # video player
|
||||
tali # poker game
|
||||
iagno # go game
|
||||
hitori # sudoku game
|
||||
atomix # puzzle game
|
||||
]);
|
||||
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
support32Bit = true;
|
||||
};
|
||||
|
||||
services.dbus.packages = with pkgs; [dconf];
|
||||
|
||||
# More Services
|
||||
environment.systemPackages = [pkgs.gnome.adwaita-icon-theme pkgs.gnomeExtensions.appindicator];
|
||||
}
|
|
@ -18,111 +18,16 @@
|
|||
|
||||
services.resolved.enable = true;
|
||||
|
||||
|
||||
# hardware related services
|
||||
services.illum.enable = true;
|
||||
services.pcscd.enable = false;
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
pulseaudio = {
|
||||
enable = true;
|
||||
package = pkgs.pulseaudioFull;
|
||||
support32Bit = true;
|
||||
};
|
||||
};
|
||||
hardware.opengl.enable = true;
|
||||
hardware.bluetooth.enable = true;
|
||||
# required for running blueman-applet in user sessions
|
||||
services.dbus.packages = with pkgs; [blueman dconf];
|
||||
services.dbus.packages = with pkgs; [blueman];
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
libinput.enable = true;
|
||||
libinput.touchpad.naturalScrolling = true;
|
||||
|
||||
videoDrivers = [
|
||||
"qxl"
|
||||
"modesetting"
|
||||
"ati"
|
||||
"cirrus"
|
||||
"intel"
|
||||
"vesa"
|
||||
"vmware"
|
||||
"modesetting"
|
||||
];
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
xkbOptions = "nodeadkeys";
|
||||
|
||||
desktopManager = {
|
||||
# FIXME: gnome should be moved to user session
|
||||
gnome.enable = true;
|
||||
|
||||
xterm.enable = true;
|
||||
plasma5.enable = false;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
gdm.enable = true;
|
||||
gdm.wayland = true;
|
||||
};
|
||||
};
|
||||
|
||||
# gnome, most of it is disabled and ideally it could live entirely in the user's home config
|
||||
programs.gpaste.enable = false;
|
||||
programs.gnome-terminal.enable = false;
|
||||
# programs.gnome-documents.enable = false;
|
||||
programs.gnome-disks.enable = false;
|
||||
|
||||
services.gnome = {
|
||||
gnome-online-miners.enable = lib.mkForce false;
|
||||
games.enable = false;
|
||||
gnome-remote-desktop.enable = false;
|
||||
gnome-user-share.enable = false;
|
||||
rygel.enable = false;
|
||||
sushi.enable = false;
|
||||
tracker.enable = false;
|
||||
tracker-miners.enable = false;
|
||||
|
||||
gnome-browser-connector.enable = false;
|
||||
gnome-initial-setup.enable = false;
|
||||
|
||||
# FIXME: gnome should be moved to home config
|
||||
gnome-settings-daemon.enable = true;
|
||||
core-os-services.enable = true;
|
||||
at-spi2-core.enable = true;
|
||||
evolution-data-server.enable = true;
|
||||
gnome-online-accounts.enable = true;
|
||||
gnome-keyring.enable = lib.mkForce false;
|
||||
};
|
||||
|
||||
# FIXME: gnome should be moved to user session
|
||||
services.gvfs.enable = true;
|
||||
programs.seahorse.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
environment.gnome.excludePackages =
|
||||
(with pkgs; [
|
||||
orca
|
||||
gnome-photos
|
||||
gnome-tour
|
||||
])
|
||||
++ (with pkgs.gnome; [
|
||||
cheese # webcam tool
|
||||
gnome-music
|
||||
gnome-terminal
|
||||
gedit # text editor
|
||||
epiphany # web browser
|
||||
geary # email reader
|
||||
evince # document viewer
|
||||
gnome-characters
|
||||
totem # video player
|
||||
tali # poker game
|
||||
iagno # go game
|
||||
hitori # sudoku game
|
||||
atomix # puzzle game
|
||||
]);
|
||||
|
||||
# More Services
|
||||
environment.systemPackages = [pkgs.gnome.adwaita-icon-theme pkgs.gnomeExtensions.appindicator];
|
||||
services.udev.packages = [pkgs.libu2f-host pkgs.yubikey-personalization pkgs.android-udev-rules];
|
||||
services.udev.extraRules = ''
|
||||
# OnePlusOne
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue