Compare commits
32 Commits
2021-05-18
...
nixos-21.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
c1b40f9d07
|
|||
|
|
06d73c9519
|
||
|
|
f7264ae434 | ||
|
|
4fd9d0d7f8 | ||
|
|
963b0b9d4b | ||
|
|
51b98cda4f | ||
|
|
f751e24839 | ||
|
|
1b1aebd0a0 | ||
|
|
812bc511e0 | ||
|
|
e55568d1c6 | ||
|
|
d4f2298518 | ||
|
|
2fad38532f | ||
|
|
28cf2d2071 | ||
|
|
f6f3befe2f | ||
|
|
257f59054d | ||
|
|
518054fd0a | ||
|
|
03bcc056c1 | ||
|
|
7679f865b0 | ||
|
|
2d63aae5a1 | ||
|
|
48a257405a | ||
|
|
30e2f31255 | ||
|
|
0364ea9b29 | ||
|
|
b2505f45c4 | ||
|
|
962c052b29 | ||
|
|
032d7e8e1a | ||
|
|
af35de1639 | ||
|
|
c8ae50be5b | ||
|
|
9310d01af6 | ||
|
|
ea33bac49b | ||
|
|
204fb83207 | ||
|
|
cf3c3c3603 | ||
|
|
edad20c5c0 |
2
Makefile
2
Makefile
@@ -32,7 +32,7 @@ list-installed-packages:
|
||||
nixos-option environment.systemPackages | head -2 | tail -1 | sed -e 's/ /\n/g' | cut -d- -f2- | sort | uniq| sed -e 's/"$$//'
|
||||
|
||||
optimise:
|
||||
$(TIME) nix optimise-store
|
||||
$(TIME) nix store optimise
|
||||
|
||||
rebuild-build:
|
||||
nix-channel --add https://nixos.org/channels/nixos-unstable nixos
|
||||
|
||||
@@ -10,7 +10,7 @@ Ce dépôt stocke une configuration générique des machines.
|
||||
~~Actuellement, les scripts contiennent un peu de configuration spécifique pour les machines des mainteneurs.~~
|
||||
|
||||
# Liens
|
||||
* http://howoldis.herokuapp.com/ pour savoir de quand datent les différentes releases de NixOS
|
||||
* https://status.nixos.org/ pour savoir de quand datent les différentes releases de NixOS
|
||||
* https://repology.org/repository/nix_unstable/problems pour lister les paquets avec problèmes
|
||||
|
||||
# Notes de mise-à-jour
|
||||
|
||||
@@ -27,10 +27,10 @@ mkIf currentMachine.profiles.isDesktopEnvironment {
|
||||
#kde5.dolphin # gestionnaire de fichiers graphique
|
||||
#kde5.dolphin-plugins # gestionnaire de fichiers graphique
|
||||
pcmanfm # gestionnaire de fichiers graphique
|
||||
spaceFM # gestionnaire de fichiers graphique
|
||||
#vifm # gestionnaire de fichiers basé sur VIM (console)
|
||||
|
||||
## Terminal
|
||||
kitty # terminal avec rendu par GPU
|
||||
sakura # terminal
|
||||
];
|
||||
|
||||
@@ -42,14 +42,15 @@ mkIf currentMachine.profiles.isDesktopEnvironment {
|
||||
font-awesome_5 # Jeux de police, utilisé avec Latex
|
||||
hack-font # police monospace créée explicitement pour coder
|
||||
hasklig # police dérivée de source-code-pro mais avec des ligatures
|
||||
jetbrains-mono # police spécial développeurs par Jetbrains
|
||||
];
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
monospace = [ "JetBrains Mono" ];
|
||||
};
|
||||
|
||||
# Paquets avec setuid root
|
||||
security.wrappers = {
|
||||
# pour le montage des media amovibles
|
||||
devmon.source = "${pkgs.udevil}/bin/devmon";
|
||||
udevil.source = "${pkgs.udevil}/bin/udevil"; # utilisé par spacefm
|
||||
# vérouiller l''écran. "cannot disable the out-of-memory killer for this process (make sure to suid or sgid slock)" --> en root
|
||||
slock.source = "${pkgs.slock}/bin/slock";
|
||||
programs = {
|
||||
slock.enable = true;
|
||||
spacefm.enable = true;
|
||||
udevil.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ environment.systemPackages = with pkgs; [
|
||||
firefox
|
||||
|
||||
## Mail & Discussion (texte, audio)
|
||||
clawsMail
|
||||
claws-mail
|
||||
hexchat
|
||||
quasselClient
|
||||
mumble
|
||||
@@ -27,7 +27,7 @@ environment.systemPackages = with pkgs; [
|
||||
|
||||
# Transfert de fichier
|
||||
filezilla
|
||||
transmission_gtk
|
||||
transmission_remote_gtk
|
||||
transmission-gtk
|
||||
transmission-remote-gtk
|
||||
];
|
||||
}
|
||||
|
||||
@@ -12,6 +12,6 @@ mkIf (flags.developpement-java && flags.graphical) {
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
# IDE
|
||||
idea.idea-community # IntelliJ IDEA
|
||||
jetbrains.idea-community # IntelliJ IDEA
|
||||
];
|
||||
}
|
||||
|
||||
@@ -11,9 +11,9 @@ mkIf (flags.jetbrains-licensed && flags.graphical) {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
idea.idea-ultimate
|
||||
idea.clion
|
||||
idea.datagrip
|
||||
idea.pycharm-professional
|
||||
jetbrains.idea-ultimate
|
||||
jetbrains.clion
|
||||
jetbrains.datagrip
|
||||
jetbrains.pycharm-professional
|
||||
];
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ in
|
||||
mkIf true {
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
clawsMail = pkgs.clawsMail.override {
|
||||
claws-mail = pkgs.claws-mail.override {
|
||||
enablePgp = true;
|
||||
enablePluginArchive = true;
|
||||
#enablePluginFancy = false; # nécessite wekitgtk qui est troué # Option supprimée dans NixOS 20.03
|
||||
|
||||
@@ -44,7 +44,7 @@ mkIf true {
|
||||
ntfs3g # ntfs
|
||||
samba # partages windows
|
||||
squashfsTools # squashfs
|
||||
sshfsFuse # ssh
|
||||
sshfs-fuse # ssh
|
||||
|
||||
## Gestion de FS
|
||||
nfs-utils
|
||||
@@ -53,6 +53,6 @@ mkIf true {
|
||||
inotify-tools # être notifié lorsque le contenu d'un répertoire change
|
||||
detox # The detox utility renames files to make them easier to work with.
|
||||
duff # outil de recherche de fichiers en doublons
|
||||
rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
|
||||
#rdfind # recherche de fichiers doublons pour remplacement par hard/soft link
|
||||
];
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ mkIf true {
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
byobu # permet de se déconnecter d'un terminal sans l'arréter
|
||||
gitAndTools.gitFull gitAndTools.tig gti # outil de gestion de version
|
||||
tig gti lazygit # outil de gestion de version
|
||||
gnumake # pour décrire les recettes de compilation
|
||||
gnupg # GPG
|
||||
htop # monitoring
|
||||
@@ -25,13 +25,49 @@ mkIf true {
|
||||
pinentry # pour taper les mots de passe gpg
|
||||
psmisc # fournis les utilitaires comme killall, fuser, pstree
|
||||
#python # python -- python -m SimpleHTTPServer 8000
|
||||
shared_mime_info # MIME info
|
||||
shared-mime-info # MIME info
|
||||
tmux # nécessaire pour byobu
|
||||
tree # affiche une arborescence de fichiers et dossiers
|
||||
usbutils
|
||||
(import ./vim.nix)
|
||||
wget # client HTTP console
|
||||
which # pour connaitre le chemin d'un exécutable
|
||||
];
|
||||
programs.gnupg.agent.enable = true;
|
||||
programs = {
|
||||
fish.enable = true;
|
||||
gnupg.agent.enable = true;
|
||||
git = {
|
||||
enable = true;
|
||||
package = pkgs.gitFull;
|
||||
config = {
|
||||
# http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/
|
||||
color = {
|
||||
diff = "auto";
|
||||
branch = "auto";
|
||||
interactive = "auto";
|
||||
pager = true;
|
||||
showbranch = "auto";
|
||||
status = "auto";
|
||||
};
|
||||
alias = {
|
||||
a = "add -p";
|
||||
br = "for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'";
|
||||
ci = "commit";
|
||||
co = "checkout";
|
||||
ff = "pull --ff-only";
|
||||
oops = "commit --amend --no-edit";
|
||||
# Show files ignored by git
|
||||
ignored = "ls-files -o -i --exclude-standard";
|
||||
ls = "ls-files";
|
||||
st = "status";
|
||||
# Logs
|
||||
lol = "log --graph --decorate --pretty=oneline --abbrev-commit";
|
||||
lola = "log --graph --decorate --pretty=oneline --abbrev-commit --all";
|
||||
not-pushed = "log --branches --not --remotes";
|
||||
};
|
||||
push.default = "simple";
|
||||
code.editor = "${pkgs.vim_configurable}/bin/vim";
|
||||
};
|
||||
lfs.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ in
|
||||
./edition-video.nix # modifier les vidéos
|
||||
./jeux.nix # jouer, tout simplement ;)
|
||||
./radio.nix # outils pour faire de la radio SDR
|
||||
./vim.nix # vim avec plugins
|
||||
|
||||
## if isDesktop
|
||||
./adminsys.nix # pour gérer le système dans son ensemble et les services
|
||||
|
||||
@@ -12,7 +12,6 @@ mkIf flags.developpement-java {
|
||||
# Installe le paquet + JAVA_HOME
|
||||
programs.java = {
|
||||
enable = true;
|
||||
package = pkgs.jdk11;
|
||||
};
|
||||
|
||||
# Paquets
|
||||
|
||||
@@ -14,5 +14,7 @@ mkIf flags.developpement-rust {
|
||||
# Rust
|
||||
cargo # récupération des dépendances + compilation projet rust
|
||||
rustc # pour les appels depuis les scripts
|
||||
rustup # outil de configuration de toolchain rust
|
||||
crate2nix # génère les fichiers de build Nix dans un projet Rust
|
||||
];
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ mkIf true {
|
||||
iperf # outil de mesure de la qualité du réseau
|
||||
iptraf-ng # outil de mesure de la qualité du réseau
|
||||
nload # affichage de statisques d'utilisation instantannées du réseau
|
||||
telnet
|
||||
inetutils
|
||||
|
||||
## Diagnostic
|
||||
arp-scan
|
||||
|
||||
@@ -25,8 +25,5 @@ mkIf flags.radio {
|
||||
dump1090 # Listen to planes ADS-B and view them on a map
|
||||
];
|
||||
|
||||
# Configuration matérielle
|
||||
boot.blacklistedKernelModules = [
|
||||
"dvb_usb_rtl28xxu"
|
||||
];
|
||||
hardware.rtl-sdr.enable = true;
|
||||
}
|
||||
|
||||
@@ -1,20 +1,28 @@
|
||||
with import <nixpkgs> {};
|
||||
{pkgs, ... }:
|
||||
|
||||
vim_configurable.customize {
|
||||
# Specifies the vim binary name.
|
||||
# E.g. set this to "my-vim" and you need to type "my-vim" to open this vim
|
||||
# This allows to have multiple vim packages installed (e.g. with a different set of plugins)
|
||||
name = "vim";
|
||||
vimrcConfig.customRC = builtins.readFile ./vimrc;
|
||||
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins;
|
||||
vimrcConfig.vam.pluginDictionaries = [
|
||||
{ names = [
|
||||
# Here you can place all your vim plugins
|
||||
# They are installed managed by `vam` (a vim plugin manager)
|
||||
#"vim-addon-nix"
|
||||
"elm-vim"
|
||||
"vim-nix"
|
||||
"wombat256-vim"
|
||||
]; }
|
||||
];
|
||||
let
|
||||
myVim = pkgs.vim_configurable.customize {
|
||||
# Specifies the vim binary name.
|
||||
# E.g. set this to "my-vim" and you need to type "my-vim" to open this vim
|
||||
# This allows to have multiple vim packages installed (e.g. with a different set of plugins)
|
||||
name = "vim";
|
||||
vimrcConfig.customRC = builtins.readFile ./vimrc;
|
||||
vimrcConfig.packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [
|
||||
wombat256-vim
|
||||
];
|
||||
opt = [
|
||||
elm-vim
|
||||
vim-fish
|
||||
vim-nix
|
||||
vimwiki
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
in {
|
||||
programs.vim = {
|
||||
defaultEditor = true;
|
||||
package = myVim;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
" This must be first, because it changes other options as a side effect.
|
||||
set nocompatible
|
||||
|
||||
filetype plugin on
|
||||
syntax on
|
||||
|
||||
" allow backspacing over everything in insert mode
|
||||
set backspace=indent,eol,start
|
||||
|
||||
@@ -32,3 +35,10 @@ if &t_Co > 8
|
||||
let &colorcolumn="80,".join(range(120,999),",")
|
||||
highlight ColorColumn ctermbg=235 guibg=#2c2d27
|
||||
endif
|
||||
|
||||
" vim hardcodes background color erase even if the terminfo file does
|
||||
" not contain bce (not to mention that libvte based terminals
|
||||
" incorrectly contain bce in their terminfo files). This causes
|
||||
" incorrect background rendering when using a color theme with a
|
||||
" background color.
|
||||
let &t_ut=''
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.fqdn}";
|
||||
flags = currentMachine.configurationFlags;
|
||||
in
|
||||
|
||||
mkIf flags.auto-upgrade {
|
||||
|
||||
# Automatic update & automatic clean
|
||||
|
||||
system.autoUpgrade.enable = true;
|
||||
nix.gc.automatic = true;
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
# Définition des couleurs du prompt
|
||||
# Git information in prompt
|
||||
. /run/current-system/sw/share/bash-completion/completions/git-prompt.sh
|
||||
|
||||
# Prompt colors
|
||||
if [[ $(tput colors) -ge 256 ]] 2>/dev/null; then
|
||||
PS1_USER='\[$(tput setaf 27)\]'
|
||||
PS1_HOST='\[$(tput setaf 37)\]'
|
||||
@@ -18,10 +21,12 @@ fi
|
||||
BOLD='\[$(tput bold)\]'
|
||||
RESET='\[$(tput sgr0)\]'
|
||||
|
||||
# Définition du prompt
|
||||
# Username or red color if root
|
||||
if [ $UID = 0 ]; then
|
||||
PS1_ID=$PS1_ROOT
|
||||
else
|
||||
PS1_ID=$PS1_USER'\u'$PS1_MISC@$PS1_HOST
|
||||
fi
|
||||
|
||||
# Prompt definition
|
||||
PS1=$RESET$BOLD$PS1_ID'\h '$PS1_PATH'\w'$PS1_GIT'$(__git_ps1)'"\n"$PS1_MISC'\$ '$RESET
|
||||
|
||||
@@ -20,9 +20,9 @@ in
|
||||
|
||||
# commandées par config-generator
|
||||
## option de configuration spécifique
|
||||
./auto-upgrade.nix # mise à jour automatique du système
|
||||
./awesome.nix # pour le gestionaire de fenêtres awesome
|
||||
./laptop.nix # appli & configuration adaptée pour un PC portable
|
||||
./nix-options.nix # options de Nix (update, gc, optimisation)
|
||||
./swap.nix # définition de l'utilisation du swap
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,9 +8,6 @@ let
|
||||
in
|
||||
|
||||
{
|
||||
# Nombre de process d'installation en parrallèle effectués par Nix
|
||||
nix.buildCores = 0;
|
||||
|
||||
# The NixOS release to be compatible with for stateful data such as databases.
|
||||
system.stateVersion = "19.09";
|
||||
|
||||
@@ -46,7 +43,6 @@ in
|
||||
vi = "vim";
|
||||
byobu-adminsys = "/etc/nixos/base/byobu-adminsys";
|
||||
};
|
||||
etc.gitconfig.text = builtins.readFile ./gitconfig;
|
||||
};
|
||||
programs.bash = {
|
||||
enableCompletion = true;
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
# http://www.git-attitude.fr/2014/09/15/30-options-git-qui-gagnent-a-etre-connues/
|
||||
[color]
|
||||
diff = auto
|
||||
branch = auto
|
||||
interactive = auto
|
||||
pager = true
|
||||
showbranch = auto
|
||||
status = auto
|
||||
[alias]
|
||||
a = add -p
|
||||
br = for-each-ref --sort=committerdate refs/heads/ --format='%(committerdate:short)\t%(authorname)\t%(refname:short)'
|
||||
ci = commit
|
||||
co = checkout
|
||||
ff = pull --ff-only
|
||||
oops = commit --amend --no-edit
|
||||
# Show files ignored by git
|
||||
ignored = ls-files -o -i --exclude-standard
|
||||
ls = ls-files
|
||||
st = status
|
||||
# Logs
|
||||
lol = log --graph --decorate --pretty=oneline --abbrev-commit
|
||||
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
|
||||
not-pushed = log --branches --not --remotes
|
||||
[push]
|
||||
default = simple
|
||||
[core]
|
||||
editor = /usr/bin/env vim
|
||||
@@ -33,6 +33,7 @@ mkIf flags.laptop {
|
||||
];
|
||||
|
||||
# Services
|
||||
services.blueman.enable = true;
|
||||
services.xserver.libinput = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
30
configuration/nix-options.nix
Normal file
30
configuration/nix-options.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.fqdn}";
|
||||
flags = currentMachine.configurationFlags;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
# Automatic update & automatic clean
|
||||
|
||||
system.autoUpgrade.enable = flags.auto-upgrade;
|
||||
nix = {
|
||||
extraOptions = ''
|
||||
experimental-features = nix-command flakes
|
||||
'';
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
# Nombre de process d'installation en parrallèle effectués par Nix
|
||||
cores = 0;
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "daily";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -44,6 +44,7 @@ let
|
||||
nix-serve-server = mkEnableOption "Profil pour que la machine soit un serveur de cache nix.";
|
||||
nixStoreProxyCache = mkEnableOption "Profil pour activer le proxy cahce nginx pour le nix store";
|
||||
officeSuite = mkEnableOption "Profil pour la suite bureautique";
|
||||
pipewire = mkEnableOption "Profil pour activer pipewire.";
|
||||
print = mkEnableOption "Profil pour activer cups & pouvoir imprimer.";
|
||||
pulseaudio = mkEnableOption "Profil pour activer pulseaudio.";
|
||||
rabbitmq = mkEnableOption "Profil pour activer le service de messagerie AMQP.";
|
||||
|
||||
@@ -33,6 +33,7 @@ in
|
||||
|
||||
## if isDesktop
|
||||
./pulseaudio.nix # activation du serveur audio
|
||||
./pipewire.nix # activation du serveur audio
|
||||
./scanner.nix # utilisation d'un scanner
|
||||
./x11.nix # activation du serveur graphique X
|
||||
];
|
||||
|
||||
@@ -14,6 +14,7 @@ mkIf flags.docker {
|
||||
# Ecosystème Docker
|
||||
docker
|
||||
docker-compose
|
||||
lazydocker
|
||||
];
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
|
||||
35
services/pipewire.nix
Normal file
35
services/pipewire.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf mkMerge mkThenElse;
|
||||
annuaire = config.r6d.machines;
|
||||
currentMachine = annuaire."${config.networking.fqdn}";
|
||||
flags = currentMachine.configurationFlags;
|
||||
in
|
||||
|
||||
mkIf flags.pipewire {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
helvum # patchbay pipewire
|
||||
paprefs # préferences pulseaudio
|
||||
pavucontrol # mixer pulseaudio
|
||||
pa_applet # status et contrôle dans le system tray
|
||||
];
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.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;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -9,12 +9,19 @@ in
|
||||
|
||||
mkIf flags.print {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
samba
|
||||
python310Packages.pysmbc
|
||||
];
|
||||
services.samba.enable = true;
|
||||
# Services
|
||||
## Enable CUPS to print documents.
|
||||
services.printing = {
|
||||
enable = true;
|
||||
drivers = [
|
||||
pkgs.samsung-unified-linux-driver
|
||||
pkgs.fxlinuxprint
|
||||
pkgs.gutenprint
|
||||
];
|
||||
# Suppression automatique des fichiers temporaires.
|
||||
# Par défaut, cups conserve une copie de ce qui a été imprimé
|
||||
@@ -24,4 +31,6 @@ mkIf flags.print {
|
||||
PreserveJobFiles No
|
||||
'';
|
||||
};
|
||||
services.avahi.enable = true;
|
||||
services.avahi.nssmdns = true;
|
||||
}
|
||||
|
||||
@@ -8,21 +8,13 @@ let
|
||||
in
|
||||
|
||||
mkIf flags.xmonad {
|
||||
|
||||
# Paquets
|
||||
environment.systemPackages = with pkgs; [
|
||||
dmenu
|
||||
haskellPackages.xmobar
|
||||
trayer
|
||||
];
|
||||
services.dbus.packages = with pkgs; [ dconf ];
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# Services
|
||||
services.xserver.windowManager.xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
extraPackages = haskellPackages: [
|
||||
haskellPackages.xmobar
|
||||
];
|
||||
};
|
||||
environment.variables = {
|
||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
||||
|
||||
Reference in New Issue
Block a user