2023-04-14 20:51:52 +00:00
# Window Manager and desktop programs
{ config , lib , pkgs , . . . }:
let
2023-11-03 08:09:19 +00:00
# unstableTarball =
# fetchTarball
# https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz;
2023-04-14 20:51:52 +00:00
in
{
sound . enable = true ;
hardware . pulseaudio . enable = false ;
security . rtkit . enable = true ;
services = {
2023-11-29 07:17:07 +00:00
# sonarr = {
# enable = true;
# openFirewall = true; # http://locahost:8989
# };
# prowlarr = {
# enable = true;
# openFirewall = true; # http://locahost:9696
# };
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-11-03 08:09:19 +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 '' ;
2023-07-16 09:44:31 +00:00
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-11-03 08:09:19 +00:00
printing . drivers = [ pkgs . brlaser ] ;
2023-04-14 20:51:52 +00:00
xserver = {
enable = true ;
2023-11-03 08:09:19 +00:00
displayManager . defaultSession = " p l a s m a w a y l a n d " ;
2023-07-16 09:44:31 +00:00
desktopManager . plasma5 . enable = true ;
displayManager . sddm . enable = true ;
2023-11-03 08:09:19 +00:00
displayManager . sddm . enableHidpi = true ;
2023-04-14 20:51:52 +00:00
} ;
2023-11-03 08:09:19 +00:00
dbus . enable = true ;
2023-04-14 20:51:52 +00:00
} ;
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
droidcam . enable = true ;
firefox . enable = true ;
2023-11-03 08:09:19 +00:00
firefox . languagePacks = [ " f r " ] ;
hyprland . enable = true ;
2023-07-16 09:44:31 +00:00
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-12-05 19:04:12 +00:00
# sway = {
# enable = true;
# wrapperFeatures.gtk = true; # so that gtk works properly
# extraPackages = with pkgs; [
# swaylock
# swayidle
# wl-clipboard
# wf-recorder
# mako # notification daemon
# grim
# slurp
# alacritty # Alacritty is the default terminal in the config
# dmenu # Dmenu is the default in the config but i recommend wofi since its wayland native
# ];
# extraSessionCommands = ''
# export SDL_VIDEODRIVER=wayland
# export QT_QPA_PLATFORM=wayland
# export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# export _JAVA_AWT_WM_NONREPARENTING=1
# export MOZ_ENABLE_WAYLAND=1
# '';
# };
2023-04-15 07:45:56 +00:00
} ;
2023-04-14 20:51:52 +00:00
# Allow unfree packages
nixpkgs . config . allowUnfree = true ;
2023-11-29 07:17:07 +00:00
# access to unstable nixpkgs
2023-08-13 16:18:11 +00:00
# nixpkgs.config = {
# packageOverrides = pkgs: with pkgs; {
# unstable = import unstableTarball {
# config = config.nixpkgs.config;
# };
# };
# };
2023-07-16 09:44:31 +00:00
2023-11-29 07:17:07 +00:00
# no kde bloat
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-11-29 07:17:07 +00:00
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-08-13 16:18:11 +00:00
bmewburn . vscode-intelephense-client
2023-12-05 19:04:12 +00:00
#dracula-theme.theme-dracula
2023-12-03 13:48:32 +00:00
mvllow . rose-pine
2023-11-03 08:09:19 +00:00
editorconfig . editorconfig
esbenp . prettier-vscode
github . github-vscode-theme
2023-04-18 11:48:52 +00:00
gruntfuggly . todo-tree
2023-08-13 16:18:11 +00:00
jnoortheen . nix-ide
2023-06-19 12:52:25 +00:00
mhutchie . git-graph
2023-08-13 16:18:11 +00:00
ms-ceintl . vscode-language-pack-fr
2023-11-03 08:09:19 +00:00
#junstyle.php-cs-fixer
#ms-vscode-remote.remote-ssh
2023-08-13 16:18:11 +00:00
]
++ pkgs . vscode-utils . extensionsFromVscodeMarketplace [
{
2023-11-03 08:09:19 +00:00
name = " v s c o d e - t w i g - l a n g u a g e - 2 " ;
2023-08-13 16:18:11 +00:00
publisher = " m b l o d e " ;
2023-11-03 08:09:19 +00:00
version = " 0 . 9 . 2 " ;
2023-08-13 16:18:11 +00:00
sha256 = " 1 1 3 w 2 i i s 4 z i 4 z 3 s q c 3 v d 2 a p y r h 5 2 h b h 2 g v m x j r 5 y v j p m r s k s c l b d " ;
}
]
;
2023-04-14 20:51:52 +00:00
} )
2023-04-15 07:45:56 +00:00
( chromium . override {
enableWideVine = true ; # DRM support
} )
2023-11-03 08:09:19 +00:00
audacious
2023-07-16 09:44:31 +00:00
calibre
2023-06-19 12:52:25 +00:00
digikam
2023-12-05 19:04:12 +00:00
rose-pine-gtk-theme
rose-pine-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-11-03 08:09:19 +00:00
hunspell
hunspellDicts . fr-moderne
hyprpaper
2023-04-14 20:51:52 +00:00
inkscape-with-extensions
2023-05-11 14:03:37 +00:00
kitty
2023-08-13 16:18:11 +00:00
latte-dock
2023-11-03 08:09:19 +00:00
libreoffice-qt
2023-11-29 07:17:07 +00:00
librewolf
2023-04-14 20:51:52 +00:00
libsForQt5 . ark
2023-05-11 14:03:37 +00:00
libsForQt5 . bismuth
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-04-14 20:51:52 +00:00
signal-desktop
2023-11-03 08:09:19 +00:00
tdesktop # strange name for telegram client
2023-08-13 16:18:11 +00:00
thunderbird
2023-11-03 08:09:19 +00:00
tor-browser-bundle-bin
2023-06-19 12:52:25 +00:00
transmission-qt
2023-04-14 20:51:52 +00:00
vlc
2023-11-03 08:09:19 +00:00
waybar
wl-clipboard
wofi
2023-12-05 19:04:12 +00:00
pywal
rofi
swaylock-effects
wlogout
cliphist
2023-11-03 08:09:19 +00:00
mako # notification system developed by swaywm maintainer
wdisplays # tool to configure displays
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
'' ;
}