home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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:
Msystems/hokkaido.nix | 66+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mtasks.org | 10++++++++++
Musers/vincent/default.nix | 1+
Ausers/vincent/desktop/gnome.nix | 78++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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"; + }; +}