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

@ -20,7 +20,7 @@
rename
wipe
gnupg
pass
pass-wayland
pwgen
units
powertop

View file

@ -7,10 +7,7 @@ in {
boot.loader.timeout = 2;
boot.tmpOnTmpfs = true;
console = {
font = "Lat2-Terminus16";
keyMap = "de_CH-latin1";
};
console.keyMap = "de_CH-latin1";
i18n.defaultLocale = "en_US.UTF-8";
users.mutableUsers = false;
@ -25,12 +22,18 @@ in {
};
# Package management
nix.trustedUsers = [ "root" "@wheel" ];
nix.gc = {
nix = {
trustedUsers = [ "root" "@wheel" ];
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
package = pkgs.nixFlakes;
extraOptions = ''
experimental-features = nix-command flakes
'';
};
system.autoUpgrade.enable = true;
system.autoUpgrade.allowReboot = false;
@ -60,6 +63,7 @@ in {
gitconfig.source = ./etc/gitconfig;
vimrc.source = ./etc/vimrc;
};
programs.autojump.enable = true;
programs.vim.defaultEditor = true;
}

View file

@ -29,6 +29,7 @@
"pycharm-professional"
"idea-ultimate"
"android-studio-stable"
"android-studio-beta"
"vmware-view"
];

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 ]; }

View file

@ -1,30 +0,0 @@
{ config, lib, pkgs, ... }:
{
virtualisation = { # TODO: This should probably be somewhere else.
docker.enable = true;
libvirtd.enable = true;
};
environment.systemPackages = with pkgs;
[
vscodium
jetbrains.webstorm
jetbrains.pycharm-professional
jetbrains.idea-ultimate
android-studio
#umlet
#hugo # TODO: Is this the extended version?
#kubernetes-helm # TODO: is this the client?
#wireshark # sslscan aircrack-ng # Network
pipenv # Python
yubikey-manager # cracklib genisoimage # Security
gitlab-runner
] ++ [ # Virtualisation, Docker & Kubernetes # TODO: MOoe
virt-manager
docker-compose
kubectl
vagrant # TODO: Supports libvirtd?
];
}