Update base and desktop defaults to current state
This commit is contained in:
parent
b907586257
commit
2a235cf9af
15 changed files with 68 additions and 244 deletions
|
@ -20,7 +20,7 @@
|
||||||
rename
|
rename
|
||||||
wipe
|
wipe
|
||||||
gnupg
|
gnupg
|
||||||
pass
|
pass-wayland
|
||||||
pwgen
|
pwgen
|
||||||
units
|
units
|
||||||
powertop
|
powertop
|
||||||
|
|
|
@ -7,10 +7,7 @@ in {
|
||||||
boot.loader.timeout = 2;
|
boot.loader.timeout = 2;
|
||||||
boot.tmpOnTmpfs = true;
|
boot.tmpOnTmpfs = true;
|
||||||
|
|
||||||
console = {
|
console.keyMap = "de_CH-latin1";
|
||||||
font = "Lat2-Terminus16";
|
|
||||||
keyMap = "de_CH-latin1";
|
|
||||||
};
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
users.mutableUsers = false;
|
users.mutableUsers = false;
|
||||||
|
@ -25,11 +22,17 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
# Package management
|
# Package management
|
||||||
nix.trustedUsers = [ "root" "@wheel" ];
|
nix = {
|
||||||
nix.gc = {
|
trustedUsers = [ "root" "@wheel" ];
|
||||||
automatic = true;
|
gc = {
|
||||||
dates = "weekly";
|
automatic = true;
|
||||||
options = "--delete-older-than 30d";
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
package = pkgs.nixFlakes;
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
system.autoUpgrade.enable = true;
|
system.autoUpgrade.enable = true;
|
||||||
|
@ -60,6 +63,7 @@ in {
|
||||||
gitconfig.source = ./etc/gitconfig;
|
gitconfig.source = ./etc/gitconfig;
|
||||||
vimrc.source = ./etc/vimrc;
|
vimrc.source = ./etc/vimrc;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.autojump.enable = true;
|
programs.autojump.enable = true;
|
||||||
programs.vim.defaultEditor = true;
|
programs.vim.defaultEditor = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
"pycharm-professional"
|
"pycharm-professional"
|
||||||
"idea-ultimate"
|
"idea-ultimate"
|
||||||
"android-studio-stable"
|
"android-studio-stable"
|
||||||
|
"android-studio-beta"
|
||||||
|
|
||||||
"vmware-view"
|
"vmware-view"
|
||||||
];
|
];
|
||||||
|
|
|
@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,15 +1,10 @@
|
||||||
{ config, pkgs, lib, ... }: {
|
{ config, pkgs, lib, ... }: {
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./applications.nix
|
|
||||||
./desktop-environment.nix
|
./desktop-environment.nix
|
||||||
./desktop-i3.nix
|
./greeter.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./multimedia.nix
|
|
||||||
./office-suite.nix
|
./office-suite.nix
|
||||||
./scripts.nix
|
|
||||||
./security.nix
|
|
||||||
./webapps.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,14 +25,13 @@
|
||||||
geary.enable = false;
|
geary.enable = false;
|
||||||
light.enable = true;
|
light.enable = true;
|
||||||
|
|
||||||
gnupg.agent.pinentryFlavor = "gtk2";
|
|
||||||
|
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.gnome3 = {
|
services.gnome3 = {
|
||||||
# TODO: Do this manually and not all at once.
|
# TODO: Do this manually and not all at once.
|
||||||
core-utilities.enable = true;
|
core-utilities.enable = true;
|
||||||
|
core-os-services.enable = true;
|
||||||
|
|
||||||
gnome-keyring.enable = true;
|
gnome-keyring.enable = true;
|
||||||
evolution-data-server.enable = true;
|
evolution-data-server.enable = true;
|
||||||
|
@ -46,8 +45,9 @@
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gtkUsePortal = true;
|
gtkUsePortal = false;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
#extraPortals = [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr ];
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-wlr ];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
|
||||||
|
|
||||||
}
|
|
21
defaults/desktop/greeter.nix
Normal file
21
defaults/desktop/greeter.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,12 +6,26 @@
|
||||||
|
|
||||||
# Enable sound.
|
# Enable sound.
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
|
nixpkgs.config.pulseaudio = true;
|
||||||
|
|
||||||
hardware = {
|
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;
|
opengl.enable = true;
|
||||||
acpilight.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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
|
@ -3,12 +3,15 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
# Hamster
|
# Hamster
|
||||||
environment.systemPackages = with pkgs; [ hamster ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
hamster
|
||||||
|
openvpn
|
||||||
|
]; # TODO: move openvpn
|
||||||
programs.hamster.enable = true;
|
programs.hamster.enable = true;
|
||||||
|
|
||||||
# Fonts
|
# Fonts
|
||||||
fonts.fonts = with pkgs; [
|
fonts.fonts = with pkgs; [
|
||||||
google-fonts
|
# google-fonts # Breaks fwesome
|
||||||
lalezar-fonts
|
lalezar-fonts
|
||||||
nahid-fonts
|
nahid-fonts
|
||||||
nika-fonts
|
nika-fonts
|
||||||
|
@ -30,7 +33,7 @@
|
||||||
comfortaa
|
comfortaa
|
||||||
comic-neue
|
comic-neue
|
||||||
comic-relief
|
comic-relief
|
||||||
corefonts
|
# corefonts # breaks fawesome
|
||||||
culmus
|
culmus
|
||||||
clearlyU
|
clearlyU
|
||||||
creep
|
creep
|
||||||
|
@ -42,13 +45,13 @@
|
||||||
cabin
|
cabin
|
||||||
camingo-code
|
camingo-code
|
||||||
cooper-hewitt
|
cooper-hewitt
|
||||||
d2coding
|
#d2coding
|
||||||
dosis
|
dosis
|
||||||
dosemu_fonts
|
dosemu_fonts
|
||||||
eb-garamond
|
eb-garamond
|
||||||
eunomia
|
eunomia
|
||||||
ferrum
|
ferrum
|
||||||
fixedsys-excelsior
|
# fixedsys-excelsior # Breaks fawesome
|
||||||
emacs-all-the-icons-fonts
|
emacs-all-the-icons-fonts
|
||||||
emojione
|
emojione
|
||||||
encode-sans
|
encode-sans
|
||||||
|
@ -123,9 +126,9 @@
|
||||||
overpass
|
overpass
|
||||||
oxygenfonts
|
oxygenfonts
|
||||||
#pecita
|
#pecita
|
||||||
paratype-pt-mono
|
#paratype-pt-mono # Breaks fawseome
|
||||||
paratype-pt-sans
|
#paratype-pt-sans # Breaks fawseome
|
||||||
paratype-pt-serif
|
#paratype-pt-serif # Breaks fawseome
|
||||||
penna
|
penna
|
||||||
poly
|
poly
|
||||||
powerline-fonts
|
powerline-fonts
|
||||||
|
|
|
@ -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 ];
|
|
||||||
}
|
|
|
@ -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";
|
|
||||||
}
|
|
|
@ -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 ]; }
|
|
|
@ -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?
|
|
||||||
];
|
|
||||||
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue