commit b6a446d98a10db7126b69e911f21c454b5018262
parent 54372d4197a2f4cc87fb3904b5e62a24c37d4951
Author: Vincent Demeester <vincent@sbr.pm>
Date: Mon, 29 Jun 2020 08:44:46 +0200
systems/hokkaido: experiment with gnome3 setup
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat:
4 files changed, 154 insertions(+), 1 deletion(-)
diff --git a/systems/hokkaido.nix b/systems/hokkaido.nix
@@ -1,4 +1,4 @@
-{ lib, ... }:
+{ pkgs, lib, ... }:
with lib;
let
@@ -34,18 +34,81 @@ in
hostName = hostname;
};
+ boot = {
+ tmpOnTmpfs = true;
+ plymouth.enable = true;
+ };
+
+ hardware.bluetooth.enable = true;
profiles = {
+ syncthing.enable = true;
home = true;
laptop.enable = true;
+ desktop.enable = lib.mkForce false;
avahi.enable = true;
git.enable = true;
ssh.enable = true;
dev.enable = true;
yubikey.enable = true;
+ virtualization = { enable = true; nested = true; };
+ };
+ environment.systemPackages = with pkgs; [ virtmanager ];
+
+ networking.networkmanager = {
+ enable = true;
+ unmanaged = [
+ "interface-name:ve-*"
+ "interface-name:veth*"
+ "interface-name:wg0"
+ "interface-name:docker0"
+ "interface-name:virbr*"
+ ];
+ packages = with pkgs; [ networkmanager-openvpn ];
+ };
+
+ services.xserver.enable = true;
+ services.xserver.layout = "fr";
+ services.xserver.xkbVariant = "bepo";
+ services.xserver.xkbOptions = "grp:menu_toggle,grp_led:caps,compose:caps";
+ services.xserver.displayManager.gdm.enable = true;
+ services.xserver.desktopManager.gnome3.enable = true;
+ services.gnome3.chrome-gnome-shell.enable = true;
+ services.gnome3.core-shell.enable = true;
+ services.gnome3.core-os-services.enable = true;
+ services.gnome3.core-utilities.enable = true;
+
+ fonts = {
+ enableFontDir = true;
+ enableGhostscriptFonts = true;
+ fonts = with pkgs; [
+ corefonts
+ dejavu_fonts
+ emojione
+ feh
+ fira
+ fira-code
+ fira-code-symbols
+ fira-mono
+ hasklig
+ inconsolata
+ iosevka
+ noto-fonts
+ noto-fonts-cjk
+ noto-fonts-emoji
+ noto-fonts-extra
+ overpass
+ symbola
+ source-code-pro
+ twemoji-color-font
+ ubuntu_font_family
+ unifont
+ ];
};
services = {
fprintd.enable = true;
+ # FIXME re-generate hokkaido key
+ /*
wireguard = {
enable = true;
ips = ips;
@@ -53,6 +116,7 @@ in
endpointPort = endpointPort;
endpointPublicKey = endpointPublicKey;
};
+ */
};
virtualisation.containers = {
diff --git a/tasks.org b/tasks.org
@@ -662,3 +662,13 @@
+ need to identify requirements on naruhodo
- package list
- features (sharing, xorg/wayland,vpn, kerberos)
+** TODO Initial gnome3 setup
+
+** TODO gnome3 modules
+
+** TODO gnome settings
+
+** TODO boxes and libvirt
+** TODO redhat sepcifics
+
+** TODO Add gnome3 extensions
diff --git a/users/vincent/default.nix b/users/vincent/default.nix
@@ -49,6 +49,7 @@ in
]
++ optionals config.profiles.dev.enable [ (import ./dev) ]
++ optionals config.profiles.desktop.enable [ (import ./desktop) ]
+ ++ optionals config.services.xserver.desktopManager.gnome3.enable [ (import ./desktop/gnome.nix) ]
++ optionals (config.networking.hostName == "wakasu") [{
programs.google-chrome.enable = true;
home.packages = with pkgs; [
diff --git a/users/vincent/desktop/gnome.nix b/users/vincent/desktop/gnome.nix
@@ -0,0 +1,78 @@
+{ pkgs, ... }:
+
+{
+ imports = [
+ # autorandr
+ ./finances.nix
+ ./firefox.nix
+ ./next.nix
+ ./gtk.nix
+ ./keyboard.nix
+ ./mpv.nix
+ ./redshift.nix
+ ./spotify.nix
+ ];
+ home.sessionVariables = { WEBKIT_DISABLE_COMPOSITING_MODE = 1; };
+ home.packages = with pkgs; [
+ gnome3.dconf-editor
+ gnome3.gnome-tweak-tool
+ gnome3.pomodoro
+ gnome3.gnome-boxes
+
+ gnome3.gnome-documents
+ gnome3.gnome-nettool
+ gnome3.gnome-power-manager
+ gnome3.gnome-todo
+ gnome3.gnome-tweaks
+ gnome3.gnome-usage
+
+ gnomeExtensions.sound-output-device-chooser
+ gnomeExtensions.paperwm
+ gnome3.gnome-shell-extensions
+
+ pop-gtk-theme
+ pop-icon-theme
+ pinentry-gnome
+
+ aspell
+ aspellDicts.en
+ aspellDicts.fr
+ hunspell
+ hunspellDicts.en_US-large
+ hunspellDicts.en_GB-ize
+ hunspellDicts.fr-any
+ wmctrl
+ xclip
+ xdg-user-dirs
+ xdg_utils
+ xsel
+ # TODO make this an option
+ slack
+ # FIXME move this elsewhere
+ keybase
+ pass
+ profile-sync-daemon
+ ];
+
+ home.file.".XCompose".source = ./xorg/XCompose;
+ home.file.".Xmodmap".source = ./xorg/Xmodmap;
+ xdg.configFile."xorg/emoji.compose".source = ./xorg/emoji.compose;
+ xdg.configFile."xorg/parens.compose".source = ./xorg/parens.compose;
+ xdg.configFile."xorg/modletters.compose".source = ./xorg/modletters.compose;
+
+ xdg.configFile."nr/desktop" = {
+ text = builtins.toJSON [
+ { cmd = "peek"; }
+ { cmd = "shutter"; }
+ { cmd = "station"; }
+ { cmd = "dmenu"; }
+ { cmd = "sxiv"; }
+ { cmd = "screenkey"; }
+ { cmd = "gimp"; }
+ { cmd = "update-desktop-database"; pkg = "desktop-file-utils"; chan = "unstable"; }
+ { cmd = "lgogdownloader"; chan = "unstable"; }
+ { cmd = "xev"; pkg = "xorg.xev"; }
+ ];
+ onChange = "${pkgs.my.nr}/bin/nr desktop";
+ };
+}