191 lines
3.9 KiB
Nix
191 lines
3.9 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
let
|
|
profile = config.fudo.common.profile;
|
|
|
|
common-packages = with pkgs; [
|
|
ffmpeg-full
|
|
libfixposix
|
|
mono
|
|
nomacs
|
|
oraclejdk
|
|
python37Packages.youtube-dl
|
|
sqlite
|
|
system-config-printer
|
|
];
|
|
|
|
gui-packages = with pkgs; [
|
|
cool-retro-term
|
|
corefonts
|
|
chrome-gnome-shell
|
|
chromium
|
|
emacs
|
|
evince
|
|
firefox
|
|
gimp
|
|
glxinfo
|
|
gnome3.gnome-shell
|
|
gnome3.gnome-session
|
|
google-chrome
|
|
gtk2
|
|
gtk2-x11
|
|
gtk3
|
|
gtkimageview
|
|
i3lock
|
|
mplayer
|
|
mpv
|
|
pdftk
|
|
racket
|
|
redshift
|
|
rhythmbox
|
|
shotwell
|
|
spotify
|
|
(steam.override {
|
|
nativeOnly = true;
|
|
extraPkgs = pkgs: [
|
|
mono
|
|
fmodex
|
|
gtk3
|
|
gtk3-x11
|
|
libgdiplus
|
|
zlib
|
|
];
|
|
withJava = true;
|
|
}).run
|
|
virtmanager
|
|
xorg.xev
|
|
xzgv
|
|
virtmanager-qt
|
|
];
|
|
|
|
cfg = config.fudo.common;
|
|
|
|
in mkIf ((profile == "desktop") || (profile == "laptop")) {
|
|
environment.systemPackages =
|
|
common-packages ++ (if cfg.enable-gui then gui-packages else []);
|
|
|
|
nixpkgs.config.allowBroken = true;
|
|
|
|
services.avahi = {
|
|
enable = true;
|
|
browseDomains = [config.fudo.common.domain];
|
|
domainName = config.fudo.common.domain;
|
|
};
|
|
|
|
# splash screen
|
|
boot.plymouth.enable = false;
|
|
|
|
boot.tmpOnTmpfs = true;
|
|
|
|
services.xserver = if cfg.enable-gui then {
|
|
enable = true;
|
|
|
|
layout = "us";
|
|
xkbVariant = "dvp";
|
|
xkbOptions = "ctrl:nocaps";
|
|
|
|
desktopManager.gnome3.enable = true;
|
|
|
|
displayManager.gdm.enable = true;
|
|
|
|
# displayManager.defaultSession = "gnome";
|
|
|
|
windowManager.stumpwm.enable = true;
|
|
|
|
# windowManager.session = pkgs.lib.singleton {
|
|
# name = "stumpwm";
|
|
# start = ''
|
|
# ${pkgs.lispPackages.stumpwm}/bin/stumpwm &
|
|
# waidPID=$!
|
|
# '';
|
|
# };
|
|
} else {
|
|
layout = "us";
|
|
xkbVariant = "dvp";
|
|
xkbOptions = "ctrl:nocaps";
|
|
};
|
|
|
|
services.gnome3 = mkIf cfg.enable-gui {
|
|
evolution-data-server.enable = pkgs.lib.mkForce false;
|
|
gnome-user-share.enable = pkgs.lib.mkForce false;
|
|
};
|
|
|
|
programs.gnupg.agent = {
|
|
enable = true;
|
|
enableSSHSupport = true;
|
|
pinentryFlavor = if cfg.enable-gui then "gnome3" else "curses";
|
|
};
|
|
|
|
services.dbus.socketActivated = true;
|
|
|
|
sound.enable = true;
|
|
|
|
hardware.pulseaudio.enable = true;
|
|
|
|
fonts = mkIf cfg.enable-gui {
|
|
enableFontDir = true;
|
|
#fontconfig.antialias = true;
|
|
fontconfig.enable = true;
|
|
#fontconfig.penultimate.enable = true;
|
|
#fontconfig.subpixel.lcdfilter = "default";
|
|
|
|
fonts = with pkgs; [
|
|
cantarell_fonts
|
|
dejavu_fonts
|
|
dina-font
|
|
dosemu_fonts
|
|
fira-code
|
|
fira-code-symbols
|
|
freefont_ttf
|
|
liberation_ttf
|
|
mplus-outline-fonts
|
|
#nerdfonts
|
|
noto-fonts
|
|
noto-fonts-cjk
|
|
noto-fonts-emoji
|
|
proggyfonts
|
|
terminus_font
|
|
ubuntu_font_family
|
|
ucsFonts
|
|
ultimate-oldschool-pc-font-pack
|
|
unifont
|
|
vistafonts
|
|
xlibs.fontadobe100dpi
|
|
xlibs.fontadobe75dpi
|
|
xlibs.fontadobeutopia100dpi
|
|
xlibs.fontadobeutopia75dpi
|
|
xlibs.fontadobeutopiatype1
|
|
xlibs.fontarabicmisc
|
|
xlibs.fontbh100dpi
|
|
xlibs.fontbh75dpi
|
|
xlibs.fontbhlucidatypewriter100dpi
|
|
xlibs.fontbhlucidatypewriter75dpi
|
|
xlibs.fontbhttf
|
|
xlibs.fontbhtype1
|
|
xlibs.fontbitstream100dpi
|
|
xlibs.fontbitstream75dpi
|
|
xlibs.fontbitstreamtype1
|
|
xlibs.fontcronyxcyrillic
|
|
xlibs.fontcursormisc
|
|
xlibs.fontdaewoomisc
|
|
xlibs.fontdecmisc
|
|
xlibs.fontibmtype1
|
|
xlibs.fontisasmisc
|
|
xlibs.fontjismisc
|
|
xlibs.fontmicromisc
|
|
xlibs.fontmisccyrillic
|
|
xlibs.fontmiscethiopic
|
|
xlibs.fontmiscmeltho
|
|
xlibs.fontmiscmisc
|
|
xlibs.fontmuttmisc
|
|
xlibs.fontschumachermisc
|
|
xlibs.fontscreencyrillic
|
|
xlibs.fontsonymisc
|
|
xlibs.fontsunmisc
|
|
xlibs.fontwinitzkicyrillic
|
|
xlibs.fontxfree86type1
|
|
];
|
|
};
|
|
}
|