2023-04-14 20:51:52 +00:00
# Window Manager and desktop programs
{ config , lib , pkgs , . . . }:
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz ;
in
{
sound . enable = true ;
hardware . pulseaudio . enable = false ;
security . rtkit . enable = true ;
services = {
2023-05-11 14:03:37 +00:00
#blueman.enable = true;
2023-07-16 09:44:31 +00:00
#openvpn.restartAfterSleep = false;
2023-06-19 12:52:25 +00:00
openvpn . servers = {
2023-07-16 09:44:31 +00:00
arn = {
config = '' c o n f i g / h o m e / m r f l o s / N e x t c l o u d / v p n \ A R N / 2 0 2 3 / v p n 5 1 0 . c o n f '' ;
autoStart = false ;
} ;
2023-06-19 12:52:25 +00:00
} ;
2023-04-14 20:51:52 +00:00
pipewire = {
enable = true ;
alsa . enable = true ;
alsa . support32Bit = true ;
pulse . enable = true ;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
} ;
printing . enable = true ; # Enable CUPS to print documents.
2023-07-16 09:44:31 +00:00
redshift . enable = false ; # may be causing flickers
2023-04-14 20:51:52 +00:00
xserver = {
enable = true ;
layout = " u s " ;
2023-06-19 12:52:25 +00:00
# desktopManager.gnome.enable = true;
2023-07-16 09:44:31 +00:00
desktopManager . plasma5 . enable = true ;
displayManager . sddm . enable = true ;
2023-04-14 20:51:52 +00:00
# libinput.enable = true; # Enable touchpad support (enabled default in most desktopManager).
} ;
} ;
programs = {
2023-04-15 07:45:56 +00:00
chromium = {
enable = true ;
homepageLocation = " a b o u t : b l a n k " ;
2023-04-14 20:51:52 +00:00
2023-04-15 07:45:56 +00:00
extensions = [
" p e j k o k f f k a p o l f f f c g b m d m h d e l a n o a i h " # Unsplash instant
" c j p a l h d l n b p a f i a m e j d n h c p h j b k e i a g m " # uBlock Origin
" g f a p c e j d o g h p o i d k f o d o i i f f a a i b p a e m " # Dracula theme
2023-04-18 11:48:52 +00:00
" j b b p l n p k j m m e e b j p i j f e d l g c d i l o c o f h " # wave a11y
2023-04-15 07:45:56 +00:00
] ;
extraOpts = {
SpellcheckEnabled = true ;
SpellcheckLanguage = [
" f r - F R "
" e n - G B "
" r u "
] ;
} ;
} ;
2023-07-16 09:44:31 +00:00
dconf . enable = true ;
droidcam . enable = true ;
firefox . enable = true ;
kdeconnect . enable = true ;
ssh . askPassword = pkgs . lib . mkForce " ${ pkgs . ksshaskpass . out } / b i n / k s s h a s k p a s s " ; # conflict between kde and gnome cf. https://github.com/NixOS/nixpkgs/issues/75867
ssh . startAgent = true ;
steam . enable = true ;
2023-04-15 07:45:56 +00:00
} ;
2023-04-14 20:51:52 +00:00
# Allow unfree packages
nixpkgs . config . allowUnfree = true ;
nixpkgs . config = {
packageOverrides = pkgs : with pkgs ; {
unstable = import unstableTarball {
config = config . nixpkgs . config ;
} ;
} ;
} ;
2023-07-16 09:44:31 +00:00
2023-06-19 12:52:25 +00:00
environment . plasma5 . excludePackages = with pkgs . libsForQt5 ; [
2023-07-16 09:44:31 +00:00
baloo
2023-06-19 12:52:25 +00:00
elisa
gwenview
khelpcenter
2023-07-16 09:44:31 +00:00
oxygen
2023-06-19 12:52:25 +00:00
plasma-browser-integration
] ;
2023-04-14 20:51:52 +00:00
# List packages installed in system profile. To search, run:
# $ nix search wget
environment . systemPackages = with pkgs ; [
( vscode-with-extensions . override {
vscode = vscodium ;
vscodeExtensions = with vscode-extensions ; [
2023-05-11 14:03:37 +00:00
ms-ceintl . vscode-language-pack-fr
2023-04-14 20:51:52 +00:00
mkhl . direnv
jnoortheen . nix-ide
dracula-theme . theme-dracula
2023-04-18 11:48:52 +00:00
gruntfuggly . todo-tree
2023-06-19 12:52:25 +00:00
eamodio . gitlens
mhutchie . git-graph
2023-04-14 20:51:52 +00:00
] ;
} )
2023-04-15 07:45:56 +00:00
( chromium . override {
enableWideVine = true ; # DRM support
} )
2023-04-14 20:51:52 +00:00
bitwarden
2023-07-16 09:44:31 +00:00
calibre
2023-06-19 12:52:25 +00:00
digikam
dracula-theme
palenight-theme
numix-cursor-theme
papirus-icon-theme
2023-04-14 20:51:52 +00:00
element-desktop
filezilla
2023-05-11 14:03:37 +00:00
gimp-with-plugins
2023-06-19 12:52:25 +00:00
hyprland
2023-04-14 20:51:52 +00:00
inkscape-with-extensions
2023-06-19 12:52:25 +00:00
joplin-desktop
2023-05-11 14:03:37 +00:00
kitty
kitty-themes
2023-04-14 20:51:52 +00:00
libsForQt5 . ark
2023-05-11 14:03:37 +00:00
libsForQt5 . bismuth
2023-04-14 20:51:52 +00:00
mattermost-desktop
2023-07-16 09:44:31 +00:00
mixxx
2023-04-14 20:51:52 +00:00
nextcloud-client
2023-06-19 12:52:25 +00:00
obsidian
2023-07-16 09:44:31 +00:00
libreoffice
2023-04-14 20:51:52 +00:00
signal-desktop
tdesktop
2023-07-16 09:44:31 +00:00
unstable . thunderbird
2023-06-19 12:52:25 +00:00
transmission-qt
2023-04-14 20:51:52 +00:00
vlc
] ;
2023-06-19 12:52:25 +00:00
# environment.gnome.excludePackages = (with pkgs; [
# gnome-photos
# gnome-tour
# ]) ++ (with pkgs.gnome; [
# cheese # webcam tool
# gnome-music
# gedit # text editor
# epiphany # web browser
# geary # email reader
# gnome-characters
# tali # poker game
# iagno # go game
# hitori # sudoku game
# atomix # puzzle game
# yelp # Help view
# gnome-contacts
# gnome-initial-setup
# ]);
2023-05-11 14:03:37 +00:00
2023-04-14 20:51:52 +00:00
# Do not restart the display manager automatically
systemd . services . display-manager . restartIfChanged = lib . mkForce false ;
# If something needs more than 20s to stop it should probably be
# killed.
systemd . extraConfig = ''
DefaultTimeoutStopSec = 2 0 s
'' ;
}