From 4a53f6321bf137c4cbd8f234dd2027ad9407499b Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Fri, 8 Apr 2022 08:30:59 -0700 Subject: modules: add a few more --- modules/default.nix | 2 +- modules/programs/default.nix | 5 +++++ modules/programs/sway/default.nix | 25 +++++++++++++++++++++++++ modules/services/default.nix | 1 + modules/services/gnome/default.nix | 27 +++++++++++++++++++++++++++ modules/system/default.nix | 13 +++++++++++-- modules/system/fonts/default.nix | 29 +++++++++++++++++++++++++++++ modules/system/security/default.nix | 1 + 8 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 modules/programs/default.nix create mode 100644 modules/programs/sway/default.nix create mode 100644 modules/services/gnome/default.nix create mode 100644 modules/system/fonts/default.nix diff --git a/modules/default.nix b/modules/default.nix index e593055..54aa833 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,7 +1,7 @@ { lib, ... }: { - imports = [ ./hardware ./system ./services ./home ]; + imports = [ ./hardware ./system ./services ./home ./programs ]; options.my = with lib; { user = { diff --git a/modules/programs/default.nix b/modules/programs/default.nix new file mode 100644 index 0000000..2de6855 --- /dev/null +++ b/modules/programs/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + imports = [ ./sway ]; +} diff --git a/modules/programs/sway/default.nix b/modules/programs/sway/default.nix new file mode 100644 index 0000000..1fb4c00 --- /dev/null +++ b/modules/programs/sway/default.nix @@ -0,0 +1,25 @@ +{ pkgs, config, lib, ... }: +let cfg = config.my.programs.sway; +in { + options.my.programs.sway = with lib; { + enable = mkEnableOption "sway configuration"; + }; + + config = lib.mkIf cfg.enable { + programs.sway = { + enable = true; + wrapperFeatures.gtk = true; + extraPackages = with pkgs; [ + brightnessctl + polkit_gnome + xsettingsd + swaylock + swayidle + wl-clipboard + ]; + extraSessionCommands = '' + export MOZ_ENABLE_WAYLAND=1 + ''; + }; + }; +} diff --git a/modules/services/default.nix b/modules/services/default.nix index 085e881..38b6a6b 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -4,6 +4,7 @@ imports = [ ./fwupd ./gitea + ./gnome ./grafana ./metrics-exporter ./navidrome diff --git a/modules/services/gnome/default.nix b/modules/services/gnome/default.nix new file mode 100644 index 0000000..448934f --- /dev/null +++ b/modules/services/gnome/default.nix @@ -0,0 +1,27 @@ +{ config, pkgs, lib, ... }: +let cfg = config.my.services.gnome; +in { + options.my.services.gnome = with lib; { enable = mkEnableOption "gnome"; }; + + config = lib.mkIf cfg.enable { + services = { + dbus = { + enable = true; + packages = with pkgs; [ gcr gnome3.dconf gnome3.gnome-keyring ]; + }; + + udev.packages = with pkgs; [ gnome3.gnome-settings-daemon ]; + + gvfs = { + enable = true; + package = pkgs.gnome.gvfs; + }; + + gnome = { + gnome-keyring.enable = true; + # !https://github.com/NixOS/nixpkgs/issues/16327 + at-spi2-core.enable = true; + }; + }; + }; +} diff --git a/modules/system/default.nix b/modules/system/default.nix index 71a469c..32f560b 100644 --- a/modules/system/default.nix +++ b/modules/system/default.nix @@ -1,6 +1,15 @@ { ... }: { - imports = - [ ./packages ./boot ./console ./locale ./nix ./users ./security ./btrfs ]; + imports = [ + ./packages + ./boot + ./console + ./locale + ./nix + ./users + ./security + ./btrfs + ./fonts + ]; } diff --git a/modules/system/fonts/default.nix b/modules/system/fonts/default.nix new file mode 100644 index 0000000..df01140 --- /dev/null +++ b/modules/system/fonts/default.nix @@ -0,0 +1,29 @@ +{ pkgs, config, lib, ... }: +let cfg = config.my.systems.fonts; +in { + options.my.systems.fonts = with lib; { + enable = mkEnableOption "fonts configuration"; + }; + + config = lib.mkIf cfg.enable { + fonts = { + enableDefaultFonts = true; + fontDir.enable = true; + fontconfig.enable = true; + fonts = with pkgs; [ + dejavu_fonts + font-awesome_5 + noto-fonts + noto-fonts-cjk # Chinese, Japanese, Korean + noto-fonts-emoji + noto-fonts-emoji + noto-fonts-extra + source-code-pro + source-sans-pro + source-serif-pro + ]; + + fontconfig.defaultFonts = { monospace = [ "Source Code Pro" ]; }; + }; + }; +} diff --git a/modules/system/security/default.nix b/modules/system/security/default.nix index 9550e8d..1181e6a 100644 --- a/modules/system/security/default.nix +++ b/modules/system/security/default.nix @@ -2,4 +2,5 @@ { security.sudo.wheelNeedsPassword = false; + security.polkit.enable = true; } -- cgit 1.4.1