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
|
||||
wipe
|
||||
gnupg
|
||||
pass
|
||||
pass-wayland
|
||||
pwgen
|
||||
units
|
||||
powertop
|
||||
|
|
|
@ -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,11 +22,17 @@ in {
|
|||
};
|
||||
|
||||
# Package management
|
||||
nix.trustedUsers = [ "root" "@wheel" ];
|
||||
nix.gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 30d";
|
||||
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;
|
||||
|
@ -60,6 +63,7 @@ in {
|
|||
gitconfig.source = ./etc/gitconfig;
|
||||
vimrc.source = ./etc/vimrc;
|
||||
};
|
||||
|
||||
programs.autojump.enable = true;
|
||||
programs.vim.defaultEditor = true;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
"pycharm-professional"
|
||||
"idea-ultimate"
|
||||
"android-studio-stable"
|
||||
"android-studio-beta"
|
||||
|
||||
"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, ... }: {
|
||||
|
||||
imports = [
|
||||
./applications.nix
|
||||
./desktop-environment.nix
|
||||
./desktop-i3.nix
|
||||
./greeter.nix
|
||||
./hardware.nix
|
||||
./multimedia.nix
|
||||
./office-suite.nix
|
||||
./scripts.nix
|
||||
./security.nix
|
||||
./webapps.nix
|
||||
];
|
||||
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -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.
|
||||
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;
|
||||
|
||||
}
|
||||
|
|
|
@ -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
|
||||
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
|
||||
|
|
|
@ -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