Update base and desktop defaults to current state

This commit is contained in:
Fabian Hauser 2021-04-10 16:58:39 +02:00
parent b907586257
commit 2a235cf9af
15 changed files with 68 additions and 244 deletions

View file

@ -1,52 +0,0 @@
{ config, pkgs, lib, ... }:
{
environment.systemPackages = with pkgs;
[ # Networking
unison
transmission # GUI Tools, maybe extract...
] ++ [ # Desktop Environment Applications
firefox
google-chrome
chromium
midori
qutebrowser
gnome3.evolution # TODO: Evolution EWS
synergy
quicksynergy
simple-scan
nextcloud-client
owncloud-client
] ++ [ # office # TODO: Migrate to office.nix
libreoffice-fresh # TODO: Dictionaries, nixos/nixpkgs#14430
pdfgrep
pdftk
calibre
tectonic
texstudio
pandoc
system-config-printer
cups-pk-helper
cups-bjnp
gutenprint
gutenprintBin
hplipWithPlugin
gnome3.gnome-online-accounts
gnome3.gnome-control-center
] ++ [ # Communication
signal-desktop
tdesktop
discord
mattermost-desktop
# pidgin pidgin-otr pidgin-with-plugins #TODO: Pidgin needed?
#TODO: ekiga?
skype
slack
teams
teamviewer
rdesktop
vmware-horizon-client
];
}

View file

@ -1,15 +1,10 @@
{ config, pkgs, lib, ... }: {
imports = [
./applications.nix
./desktop-environment.nix
./desktop-i3.nix
./greeter.nix
./hardware.nix
./multimedia.nix
./office-suite.nix
./scripts.nix
./security.nix
./webapps.nix
];
}

View file

@ -25,14 +25,13 @@
geary.enable = false;
light.enable = true;
gnupg.agent.pinentryFlavor = "gtk2";
dconf.enable = true;
};
services.gnome3 = {
# TODO: Do this manually and not all at once.
core-utilities.enable = true;
core-os-services.enable = true;
gnome-keyring.enable = true;
evolution-data-server.enable = true;
@ -46,8 +45,9 @@
services.flatpak.enable = true;
xdg.portal = {
enable = true;
gtkUsePortal = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
gtkUsePortal = false;
#extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ];
extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
};
}

View file

@ -1,36 +0,0 @@
{ config, pkgs, lib, ... }: {
services.xserver = {
enable = true;
desktopManager.xterm.enable = false;
displayManager = {
startx.enable = false;
lightdm.enable = true;
defaultSession = "none+i3";
};
windowManager.i3 = {
enable = true;
extraPackages = with pkgs; [
xdotool # for passmenu
python37Packages.py3status
file # TODO: py3status dependencies that should be added to nixpkgs
i3status
i3lock
redshift
rofi # TODO: add themes to global shared
feh
gnome3.networkmanagerapplet
pulseaudioLight.out
gnome3.gnome-screenshot
];
};
};
# Enable touchpad support.
services.xserver.libinput.enable = true;
# i18n
services.xserver.layout = "ch,de";
services.xserver.xkbOptions = "eurosign:e";
}

View file

@ -0,0 +1,21 @@
{ config, pkgs, lib, ... }: {
services.xserver.windowManager.i3.enable = true;
services.xserver = {
enable = true;
desktopManager.xterm.enable = false;
displayManager = {
startx.enable = false;
lightdm.enable = true;
defaultSession = "sway";
};
# Enable touchpad support.
libinput.enable = true;
# TODO: Extract i18n
layout = "ch,de";
xkbOptions = "eurosign:e";
};
}

View file

@ -6,12 +6,26 @@
# Enable sound.
sound.enable = true;
nixpkgs.config.pulseaudio = true;
hardware = {
pulseaudio.enable = true;
pulseaudio = {
enable = true;
extraModules = with pkgs; [ pulseaudio-modules-bt ];
package = pkgs.pulseaudioFull;
extraConfig = ''
load-module module-switch-on-connect
'';
};
opengl.enable = true;
acpilight.enable = true;
bluetooth.enable = true;
bluetooth = {
enable = true;
package = pkgs.bluezFull;
config.General.Enable = "Source,Sink,Media,Socket";
};
};
programs.light.enable = true;
}

View file

@ -1,52 +0,0 @@
{ config, pkgs, lib, ... }:
{
environment.systemPackages = with pkgs;
[ vlc v4l-utils calibre blender openshot-qt playerctl youtube-dl ]
++ [ # Audio
audacity
enblend-enfuse
ffmpeg
mplayer
sox # TODO: mencoder?
vorbis-tools
vorbisgain
opusTools
flac
lame
id3lib
id3v2 # TODO: icedax?
pasystray
pavucontrol
spotify
] ++ [ # Imaging
gimp
hugin
lensfun
luminanceHDR
darktable
geeqie
gphoto2
# ImageMagick-perl perl-File-Type perl-Term-ProgressBar #TODO: Support libraries for scripts
inkscape
ghostscript
stellarium
unity3d
] ++ [ # Codecs for Audio and Video
vobcopy
libdv
libdvbpsi # TODO: librtmp?
xvidcore
x264
gst_all_1.gstreamer
gst_all_1.gst-vaapi
gst_all_1.gst-rtsp-server
gst_all_1.gst-libav
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-ugly
];
}

View file

@ -3,12 +3,15 @@
{
# Hamster
environment.systemPackages = with pkgs; [ hamster ];
environment.systemPackages = with pkgs; [
hamster
openvpn
]; # TODO: move openvpn
programs.hamster.enable = true;
# Fonts
fonts.fonts = with pkgs; [
google-fonts
# google-fonts # Breaks fwesome
lalezar-fonts
nahid-fonts
nika-fonts
@ -30,7 +33,7 @@
comfortaa
comic-neue
comic-relief
corefonts
# corefonts # breaks fawesome
culmus
clearlyU
creep
@ -42,13 +45,13 @@
cabin
camingo-code
cooper-hewitt
d2coding
#d2coding
dosis
dosemu_fonts
eb-garamond
eunomia
ferrum
fixedsys-excelsior
# fixedsys-excelsior # Breaks fawesome
emacs-all-the-icons-fonts
emojione
encode-sans
@ -123,9 +126,9 @@
overpass
oxygenfonts
#pecita
paratype-pt-mono
paratype-pt-sans
paratype-pt-serif
#paratype-pt-mono # Breaks fawseome
#paratype-pt-sans # Breaks fawseome
#paratype-pt-serif # Breaks fawseome
penna
poly
powerline-fonts

View file

@ -1,17 +0,0 @@
{ config, pkgs, lib, ... }:
let
locksuspend = pkgs.writeScriptBin "locksuspend" ''
#!${pkgs.stdenv.shell}
set -euo pipefail
IFS=$'\n\t'
i3lock --ignore-empty-password --show-failed-attempts --color=000000
sleep 0.5
exec systemctl suspend
'';
in {
environment.homeBinInPath = true;
environment.systemPackages = [ locksuspend ];
}

View file

@ -1,15 +0,0 @@
{ config, pkgs, lib, ... }:
{
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.pcscd.enable = true;
# Ignore Broadcom smartcard
# See https://ludovicrousseau.blogspot.com/2015/12/remove-andor-customize-pcsc-reader-names.html
systemd.services.pcscd.environment.PCSCLITE_FILTER_IGNORE_READER_NAMES =
"Broadcom";
}

View file

@ -1,12 +0,0 @@
{ config, pkgs, lib, ... }:
let
web-app = name: url:
pkgs.writeScriptBin name ''
#!${pkgs.stdenv.shell}
exec ${pkgs.chromium}/bin/chromium --app="${url}"
'';
whatsapp = web-app "whatsapp" "https://web.whatsapp.com/";
threema = web-app "threema" "https://web.threema.ch/";
netflix = web-app "netflix" "https://netflix.com/";
in { environment.systemPackages = with pkgs; [ whatsapp netflix threema ]; }