Modularize everything
This commit is contained in:
parent
d5cbf61286
commit
68d301c666
21 changed files with 536 additions and 240 deletions
33
common.nix
33
common.nix
|
|
@ -1,18 +1,14 @@
|
||||||
{ inputs, config, lib, pkgs, ... }:
|
{ inputs, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with lib.my;
|
with lib.my; {
|
||||||
{
|
imports = [ inputs.home-manager.nixosModules.home-manager ]
|
||||||
imports =
|
|
||||||
[ inputs.home-manager.nixosModules.home-manager ]
|
|
||||||
++ (mapModulesRec' (toString ./modules) import);
|
++ (mapModulesRec' (toString ./modules) import);
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nixFlakes;
|
package = pkgs.nixFlakes;
|
||||||
extraOptions = "experimental-features = nix-command flakes";
|
extraOptions = "experimental-features = nix-command flakes";
|
||||||
nixPath = [
|
nixPath = [ "nixpkgs=${inputs.nixpkgs-unstable}" ];
|
||||||
"nixpkgs=${inputs.nixpkgs-unstable}"
|
|
||||||
];
|
|
||||||
settings = {
|
settings = {
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
|
|
@ -29,17 +25,32 @@ with lib.my;
|
||||||
|
|
||||||
system.configurationRevision = with inputs; mkIf (self ? rev) self.rev;
|
system.configurationRevision = with inputs; mkIf (self ? rev) self.rev;
|
||||||
|
|
||||||
|
|
||||||
time.timeZone = lib.mkDefault "Europe/Amsterdam";
|
time.timeZone = lib.mkDefault "Europe/Amsterdam";
|
||||||
|
|
||||||
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
|
i18n.defaultLocale = lib.mkDefault "en_US.UTF-8";
|
||||||
|
|
||||||
console = {
|
console = { keyMap = lib.mkDefault "fr"; };
|
||||||
keyMap = lib.mkDefault "fr";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
vim
|
vim
|
||||||
|
|
||||||
|
wget
|
||||||
|
inetutils
|
||||||
|
man
|
||||||
|
|
||||||
|
htop
|
||||||
|
ncdu
|
||||||
|
nload
|
||||||
|
pciutils
|
||||||
|
lsof
|
||||||
|
dnsutils
|
||||||
|
|
||||||
|
unzip
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.hosts = {
|
||||||
|
"127.0.0.1" = [ "localhost" "membres.yourcoop.local" ];
|
||||||
|
};
|
||||||
|
services.resolved.dnssec = "false";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,9 @@
|
||||||
{ pkgs, config, lib, ... }:
|
{ pkgs, config, lib, ... }: {
|
||||||
{
|
imports = [ ./hardware-configuration.nix ];
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
desktop = {
|
desktop = {
|
||||||
xmonad.enable = true;
|
xmonad.enable = true;
|
||||||
neovim.enable = true;
|
|
||||||
alacritty.enable = true;
|
alacritty.enable = true;
|
||||||
zsh.enable = true;
|
zsh.enable = true;
|
||||||
vscode.enable = true;
|
vscode.enable = true;
|
||||||
|
|
@ -15,7 +11,20 @@
|
||||||
htop.enable = true;
|
htop.enable = true;
|
||||||
mpd.enable = true;
|
mpd.enable = true;
|
||||||
};
|
};
|
||||||
|
editor = {
|
||||||
|
vim.enable = true;
|
||||||
|
emacs.enable = true;
|
||||||
};
|
};
|
||||||
|
services = {
|
||||||
|
flatpak.enable = true;
|
||||||
|
belgian-eid.enable = true;
|
||||||
|
docker.enable = true;
|
||||||
|
libvirt.enable = true;
|
||||||
|
};
|
||||||
|
apps = { newsboat.enable = true; };
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||||
|
|
||||||
# Allow to externally control MPD
|
# Allow to externally control MPD
|
||||||
networking.firewall.allowedTCPPorts = [ 6600 ];
|
networking.firewall.allowedTCPPorts = [ 6600 ];
|
||||||
|
|
|
||||||
316
modules/apps/newsboat.nix
Normal file
316
modules/apps/newsboat.nix
Normal file
|
|
@ -0,0 +1,316 @@
|
||||||
|
{ inputs, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
let cfg = config.modules.apps.newsboat;
|
||||||
|
in {
|
||||||
|
options.modules.apps.newsboat = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${config.user.name} = {
|
||||||
|
|
||||||
|
programs.newsboat = {
|
||||||
|
enable = true;
|
||||||
|
autoReload = true;
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
title = "Happy Path Programming";
|
||||||
|
tags = [ "podcast" "programming" ];
|
||||||
|
url = "https://anchor.fm/s/2ed56aa0/podcast/rss";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Antoine Goya";
|
||||||
|
tags = [ "video" "culture" "cinema" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC2qlgiYCCtaYpn2_blX01xg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Berd";
|
||||||
|
tags = [ "video" "humor" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCRei8TBpt4r0WPZ7MkiKmVg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Berm Peak";
|
||||||
|
tags = [ "video" "MTB" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCu8YylsPiu9XfaQC74Hr_Gw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Berm Peak Express";
|
||||||
|
tags = [ "video" "MTB" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCOpP5PqrzODWpFU961acUbg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "code- Reinho";
|
||||||
|
tags = [ "video" "guns" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCNWs0QTTHm7yiPMwl0aynsg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Computerphile";
|
||||||
|
tags = [ "video" "programming" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Chronik Fiction";
|
||||||
|
tags = [ "video" "cinema" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCeah3nqu_v6KfpXrCzEARQw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Domain of Science";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Forged Alliance Forever";
|
||||||
|
tags = [ "video" "gaming" "faf" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCkAWiUu4QE172kv-ZuyR42w";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Grand Angle";
|
||||||
|
tags = [ "video" "finance" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCWtD8JN9hkxL5TJL_ktaNZA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Gyle";
|
||||||
|
tags = [ "video" "gaming" "cast" "faf" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCzY7MBSgNLZOMxMIFwtf2bw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Hygiène Mentale";
|
||||||
|
tags = [ "video" "philosophy" "zetetic" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Institut des Libertés";
|
||||||
|
tags = [ "video" "finance" "politics" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCaqUCTIgFDtMhBeKeeejrkA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Juste Milieu";
|
||||||
|
tags = [ "video" "politics" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCXh5HwvbyfD-GUVHLng9aGQ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "J'suis pas content TV";
|
||||||
|
tags = [ "video" "politics" "humor" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC9NB2nXjNtRabu3YLPB16Hg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Kriss Papillon";
|
||||||
|
tags = [ "video" "culture" "philosophy" ];
|
||||||
|
url = "https://odysee.com/$/rss/@Kriss-Papillon:c";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Kruggsmash";
|
||||||
|
tags = [ "video" "storytelling" "gaming" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCaifrB5IrvGNPJmPeVOcqBA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Kurzgesagt";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCsXVk37bltHxD1rDPwtNM8Q";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "La Gauloiserie";
|
||||||
|
tags = [ "video" "guns" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC5Ph48LXovwS2hyAGfWwE9A";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "La Pistolerie";
|
||||||
|
tags = [ "video" "guns" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCvAZXkucE9CVVxb5K8xTjPA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Le Précepteur";
|
||||||
|
tags = [ "video" "philosophy" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCvRgiAmogg7a_BgQ_Ftm6fA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "La Tronche en Biais";
|
||||||
|
tags = [ "video" "philosophy" "zetetic" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCq-8pBMM3I40QlrhM9ExXJQ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Luke Smith";
|
||||||
|
tags = [ "video" "linux" "philosophy" ];
|
||||||
|
url = "https://videos.lukesmith.xyz/feeds/videos.atom";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Maitre Luger";
|
||||||
|
tags = [ "video" "guns" "history" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC570onl32MV5vjAnmnjeycg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Mental Outlaw";
|
||||||
|
tags = [ "video" "linux" ];
|
||||||
|
url = "https://odysee.com/$/rss/@AlphaNerd:8";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "mozinor";
|
||||||
|
tags = [ "video" "humor" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCTIiKt_Bp4gKlFPtHeB3qGw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "NixOS";
|
||||||
|
tags = [ "video" "linux" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC3vIimi9q4AT8EgxYp_dWIw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Numberphile";
|
||||||
|
tags = [ "video" "math" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "PostmodernJukebox";
|
||||||
|
tags = [ "video" "music" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCORIeT1hk6tYBuntEXsguLg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "r/NixOS";
|
||||||
|
tags = [ "video" "linux" "reddit" ];
|
||||||
|
url = "https://www.reddit.com/r/NixOS.rss";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "r/Scala";
|
||||||
|
tags = [ "video" "linux" "programming" ];
|
||||||
|
url = "https://www.reddit.com/r/Scala.rss";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Real Engineering";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Real Science";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC176GAQozKKjhz62H8u9vQQ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Richard sur Terre";
|
||||||
|
tags = [ "video" "politics" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCZIR19yr81nmaP0pMfiMwxw";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Stevius";
|
||||||
|
tags = [ "video" "history" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCkWzOALDNDee3t9IfYoB2uQ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "TheDuelist";
|
||||||
|
tags = [ "video" "gaming" "cast" "faf" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCDDNS1XW0-o1FRPvaR9-pKA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Tom Scott";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCBa659QWEk1AI4Tg--mrJ2A";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Victor Ferry";
|
||||||
|
tags = [ "video" "rhetoric" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCcueC-4NWGuPFQKzQWn5heA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "videogamedunkey";
|
||||||
|
tags = [ "video" "humor" "gaming" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCsvn_Po0SmunchJYOWpOxMg";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Vilebrequin";
|
||||||
|
tags = [ "video" "humor" "cars" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCC9mlCpyisiIpp9YA9xV-QA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Vsauce";
|
||||||
|
tags = [ "video" "science" "philosophy" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Wendover Productions";
|
||||||
|
tags = [ "video" "finance" "logistics" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC9RM-iSvTu1uPJb8X5yp3EQ";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "Willow's Duality";
|
||||||
|
tags = [ "video" "gaming" "cast" "faf" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UC8lU7OuwPGDQibMhnvSvf1w";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
title = "ScienceEtonnante";
|
||||||
|
tags = [ "video" "science" ];
|
||||||
|
url =
|
||||||
|
"https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
macro v set browser "setsid -f ${pkgs.mpv}/bin/mpv --really-quiet --no-terminal" ; open-in-browser ; set browser brave
|
||||||
|
|
||||||
|
# unbind keys
|
||||||
|
unbind-key ENTER
|
||||||
|
unbind-key j
|
||||||
|
unbind-key k
|
||||||
|
unbind-key J
|
||||||
|
unbind-key K
|
||||||
|
|
||||||
|
# bind keys - vim style
|
||||||
|
bind-key j down
|
||||||
|
bind-key k up
|
||||||
|
bind-key l open
|
||||||
|
bind-key h quit
|
||||||
|
|
||||||
|
color background color223 color0
|
||||||
|
color listnormal color223 color0
|
||||||
|
color listnormal_unread color2 color0
|
||||||
|
color listfocus color223 color237
|
||||||
|
color listfocus_unread color223 color237
|
||||||
|
color info color8 color0
|
||||||
|
color article color223 color0
|
||||||
|
|
||||||
|
# highlights
|
||||||
|
highlight article "^(Feed|Link):.*$" color11 default bold
|
||||||
|
highlight article "^(Title|Date|Author):.*$" color11 default bold
|
||||||
|
highlight article "https?://[^ ]+" color2 default underline
|
||||||
|
highlight article "\\[[0-9]+\\]" color2 default bold
|
||||||
|
highlight article "\\[image\\ [0-9]+\\]" color2 default bold
|
||||||
|
highlight feedlist "^─.*$" color6 color6 bold
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
services.pcscd.enable = true;
|
|
||||||
environment.systemPackages = with pkgs.unstable; [
|
|
||||||
eid-mw
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ inputs, config, options, lib, pkgs, ... }:
|
{ config, options, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with lib.my;
|
with lib.my;
|
||||||
|
|
@ -11,17 +11,22 @@ in {
|
||||||
corefonts # Microsoft free fonts
|
corefonts # Microsoft free fonts
|
||||||
meslo-lgs-nf
|
meslo-lgs-nf
|
||||||
];
|
];
|
||||||
fontconfig.defaultFonts = {
|
fontconfig.defaultFonts = { monospace = [ "MesloLGS NF" ]; };
|
||||||
monospace = [ "MesloLGS NF" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
programs.ssh.startAgent = true;
|
||||||
|
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
|
||||||
|
systemd.packages = [ pkgs.dconf ];
|
||||||
|
|
||||||
|
# Required for custom GTK themes
|
||||||
|
services.dbus.packages = with pkgs; [ dconf ];
|
||||||
|
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
|
|
||||||
imports = [
|
|
||||||
inputs.nix-doom-emacs.hmModule
|
|
||||||
];
|
|
||||||
|
|
||||||
xsession = {
|
xsession = {
|
||||||
enable = true;
|
enable = true;
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
|
|
@ -55,11 +60,8 @@ in {
|
||||||
screen-locker = {
|
screen-locker = {
|
||||||
enable = false;
|
enable = false;
|
||||||
inactiveInterval = 5;
|
inactiveInterval = 5;
|
||||||
lockCmd = "${pkgs.i3lock}/bin/i3lock -e -f -c 000000 -i ~/.wallpaper.png";
|
lockCmd =
|
||||||
};
|
"${pkgs.i3lock}/bin/i3lock -e -f -c 000000 -i ~/.wallpaper.png";
|
||||||
emacs = {
|
|
||||||
enable = true;
|
|
||||||
client.enable = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -73,9 +75,7 @@ in {
|
||||||
key = lib.mkDefault "3AC6F170F01133CE393BCD94BE948AFD7E7873BE";
|
key = lib.mkDefault "3AC6F170F01133CE393BCD94BE948AFD7E7873BE";
|
||||||
signByDefault = true;
|
signByDefault = true;
|
||||||
};
|
};
|
||||||
extraConfig = {
|
extraConfig = { init.defaultBranch = "master"; };
|
||||||
init.defaultBranch = "master";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
ssh = {
|
ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -106,105 +106,6 @@ in {
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
nix-direnv.enable = true;
|
nix-direnv.enable = true;
|
||||||
};
|
};
|
||||||
doom-emacs = {
|
|
||||||
enable = true;
|
|
||||||
doomPrivateDir = ./files/doom.d;
|
|
||||||
emacsPackagesOverlay = final: prev: {
|
|
||||||
ob-ammonite = with final; (trivialBuild {
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "zwild";
|
|
||||||
repo = "ob-ammonite";
|
|
||||||
rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
|
||||||
sha256 = pkgs.lib.fakeSha256;
|
|
||||||
};
|
|
||||||
pname = "ob-ammonite";
|
|
||||||
packageRequires = [ s dash editorconfig ];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
||||||
newsboat = {
|
|
||||||
enable = true;
|
|
||||||
autoReload = true;
|
|
||||||
urls = [
|
|
||||||
{ title = "Happy Path Programming"; tags = [ "podcast" "programming" ]; url = "https://anchor.fm/s/2ed56aa0/podcast/rss"; }
|
|
||||||
{ title = "Antoine Goya"; tags = [ "video" "culture" "cinema" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC2qlgiYCCtaYpn2_blX01xg"; }
|
|
||||||
{ title = "Berd"; tags = [ "video" "humor" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCRei8TBpt4r0WPZ7MkiKmVg"; }
|
|
||||||
{ title = "Berm Peak"; tags = [ "video" "MTB" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCu8YylsPiu9XfaQC74Hr_Gw"; }
|
|
||||||
{ title = "Berm Peak Express"; tags = [ "video" "MTB" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCOpP5PqrzODWpFU961acUbg"; }
|
|
||||||
{ title = "code- Reinho"; tags = [ "video" "guns" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCNWs0QTTHm7yiPMwl0aynsg"; }
|
|
||||||
{ title = "Computerphile"; tags = [ "video" "programming" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA"; }
|
|
||||||
{ title = "Chronik Fiction"; tags = [ "video" "cinema" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCeah3nqu_v6KfpXrCzEARQw"; }
|
|
||||||
{ title = "Domain of Science"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A"; }
|
|
||||||
{ title = "Forged Alliance Forever"; tags = [ "video" "gaming" "faf" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCkAWiUu4QE172kv"; }
|
|
||||||
{ title = "Grand Angle"; tags = [ "video" "finance" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCWtD8JN9hkxL5TJL_ktaNZA"; }
|
|
||||||
{ title = "Gyle"; tags = [ "video" "gaming" "cast" "faf" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCzY7MBSgNLZOMxMIFwtf2bw"; }
|
|
||||||
{ title = "Hygiène Mentale"; tags = [ "video" "philosophy" "zetetic" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCMFcMhePnH4onVHt2-ItPZw"; }
|
|
||||||
{ title = "Institut des Libertés"; tags = [ "video" "finance" "politics" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCaqUCTIgFDtMhBeKeeejrkA"; }
|
|
||||||
{ title = "Juste Milieu"; tags = [ "video" "politics" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCXh5HwvbyfD-GUVHLng9aGQ"; }
|
|
||||||
{ title = "J'suis pas content TV"; tags = [ "video" "politics" "humor" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC9NB2nXjNtRabu3YLPB16Hg"; }
|
|
||||||
{ title = "Kriss Papillon"; tags = [ "video" "culture" "philosophy" ]; url = "https://odysee.com/$/rss/@Kriss-Papillon:c"; }
|
|
||||||
{ title = "Kruggsmash"; tags = [ "video" "storytelling" "gaming" ]; url = "https://www.youtube.com/@kruggsmash"; }
|
|
||||||
{ title = "Kurzgesagt"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCsXVk37bltHxD1rDPwtNM8Q"; }
|
|
||||||
{ title = "La Gauloiserie"; tags = [ "video" "guns" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC5Ph48LXovwS2hyAGfWwE9A"; }
|
|
||||||
{ title = "La Pistolerie"; tags = [ "video" "guns" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCvAZXkucE9CVVxb5K8xTjPA"; }
|
|
||||||
{ title = "Le Précepteur"; tags = [ "video" "philosophy" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCvRgiAmogg7a_BgQ_Ftm6fA"; }
|
|
||||||
{ title = "La Tronche en Biais"; tags = [ "video" "philosophy" "zetetic" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCq-8pBMM3I40QlrhM9ExXJQ"; }
|
|
||||||
{ title = "Luke Smith"; tags = [ "video" "linux" "philosophy" ]; url = "https://videos.lukesmith.xyz/feeds/videos.atom"; }
|
|
||||||
{ title = "Maitre Luger"; tags = [ "video" "guns" "history" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC570onl32MV5vjAnmnjeycg"; }
|
|
||||||
{ title = "Mental Outlaw"; tags = [ "video" "linux" ]; url = "https://odysee.com/$/rss/@AlphaNerd:8"; }
|
|
||||||
{ title = "mozinor"; tags = [ "video" "humor" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCTIiKt_Bp4gKlFPtHeB3qGw"; }
|
|
||||||
{ title = "NixOS"; tags = [ "video" "linux" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC3vIimi9q4AT8EgxYp_dWIw"; }
|
|
||||||
{ title = "Numberphile"; tags = [ "video" "math" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A"; }
|
|
||||||
{ title = "PostmodernJukebox"; tags = [ "video" "music" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCORIeT1hk6tYBuntEXsguLg"; }
|
|
||||||
{ title = "r/NixOS"; tags = [ "video" "linux" "reddit" ]; url = "https://www.reddit.com/r/NixOS.rss"; }
|
|
||||||
{ title = "r/Scala"; tags = [ "video" "linux" "programming" ]; url = "https://www.reddit.com/r/Scala.rss"; }
|
|
||||||
{ title = "Real Engineering"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCR1IuLEqb6UEA_zQ81kwXfg"; }
|
|
||||||
{ title = "Real Science"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC176GAQozKKjhz62H8u9vQQ"; }
|
|
||||||
{ title = "Richard sur Terre"; tags = [ "video" "politics" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCZIR19yr81nmaP0pMfiMwxw"; }
|
|
||||||
{ title = "Stevius"; tags = [ "video" "history" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCkWzOALDNDee3t9IfYoB2uQ"; }
|
|
||||||
{ title = "TheDuelist"; tags = [ "video" "gaming" "cast" "faf" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCDDNS1XW0-o1FRPvaR9-pKA"; }
|
|
||||||
{ title = "Tom Scott"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCBa659QWEk1AI4Tg--mrJ2A"; }
|
|
||||||
{ title = "Victor Ferry"; tags = [ "video" "rhetoric" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCcueC-4NWGuPFQKzQWn5heA"; }
|
|
||||||
{ title = "videogamedunkey"; tags = [ "video" "humor" "gaming" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCsvn_Po0SmunchJYOWpOxMg"; }
|
|
||||||
{ title = "Vilebrequin"; tags = [ "video" "humor" "cars" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCC9mlCpyisiIpp9YA9xV-QA"; }
|
|
||||||
{ title = "Vsauce"; tags = [ "video" "science" "philosophy" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA"; }
|
|
||||||
{ title = "Wendover Productions"; tags = [ "video" "finance" "logistics" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC9RM-iSvTu1uPJb8X5yp3EQ"; }
|
|
||||||
{ title = "Willow's Duality"; tags = [ "video" "gaming" "cast" "faf" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UC8lU7OuwPGDQibMhnvSvf1w"; }
|
|
||||||
{ title = "ScienceEtonnante"; tags = [ "video" "science" ]; url = "https://www.youtube.com/feeds/videos.xml?channel_id=UCaNlbnghtwlsGF-KzAFThqA"; }
|
|
||||||
];
|
|
||||||
extraConfig = ''
|
|
||||||
macro v set browser "setsid -f ${pkgs.mpv}/bin/mpv --really-quiet --no-terminal" ; open-in-browser ; set browser brave
|
|
||||||
|
|
||||||
# unbind keys
|
|
||||||
unbind-key ENTER
|
|
||||||
unbind-key j
|
|
||||||
unbind-key k
|
|
||||||
unbind-key J
|
|
||||||
unbind-key K
|
|
||||||
|
|
||||||
# bind keys - vim style
|
|
||||||
bind-key j down
|
|
||||||
bind-key k up
|
|
||||||
bind-key l open
|
|
||||||
bind-key h quit
|
|
||||||
|
|
||||||
color background color223 color0
|
|
||||||
color listnormal color223 color0
|
|
||||||
color listnormal_unread color2 color0
|
|
||||||
color listfocus color223 color237
|
|
||||||
color listfocus_unread color223 color237
|
|
||||||
color info color8 color0
|
|
||||||
color article color223 color0
|
|
||||||
|
|
||||||
# highlights
|
|
||||||
highlight article "^(Feed|Link):.*$" color11 default bold
|
|
||||||
highlight article "^(Title|Date|Author):.*$" color11 default bold
|
|
||||||
highlight article "https?://[^ ]+" color2 default underline
|
|
||||||
highlight article "\\[[0-9]+\\]" color2 default bold
|
|
||||||
highlight article "\\[image\\ [0-9]+\\]" color2 default bold
|
|
||||||
highlight feedlist "^─.*$" color6 color6 bold
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
|
|
@ -218,9 +119,7 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
sessionVariables = {
|
sessionVariables = { QT_AUTO_SCREEN_SCALE_FACTOR = "0"; };
|
||||||
QT_AUTO_SCREEN_SCALE_FACTOR = "0";
|
|
||||||
};
|
|
||||||
|
|
||||||
keyboard = {
|
keyboard = {
|
||||||
layout = "fr";
|
layout = "fr";
|
||||||
|
|
@ -256,17 +155,13 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = with pkgs.unstable; [
|
packages = with pkgs.unstable; [
|
||||||
haskellPackages.xmobar
|
|
||||||
i3lock
|
|
||||||
feh
|
|
||||||
xorg.xbacklight
|
xorg.xbacklight
|
||||||
xorg.xinit
|
xorg.xinit
|
||||||
xorg.xwininfo
|
xorg.xwininfo
|
||||||
xorg.xkill
|
xorg.xkill
|
||||||
scrot
|
|
||||||
numix-gtk-theme
|
numix-gtk-theme
|
||||||
|
|
||||||
ncmpcpp
|
(ncmpcpp.override { visualizerSupport = true; })
|
||||||
mpc_cli
|
mpc_cli
|
||||||
pulsemixer
|
pulsemixer
|
||||||
|
|
||||||
|
|
@ -294,10 +189,6 @@ in {
|
||||||
jetbrains.idea-community
|
jetbrains.idea-community
|
||||||
httpie
|
httpie
|
||||||
|
|
||||||
rnix-lsp
|
|
||||||
metals
|
|
||||||
nixpkgs-fmt
|
|
||||||
|
|
||||||
zsh-syntax-highlighting
|
zsh-syntax-highlighting
|
||||||
ranger
|
ranger
|
||||||
R
|
R
|
||||||
|
|
@ -314,7 +205,6 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
systemd.user.services.activitywatch = {
|
systemd.user.services.activitywatch = {
|
||||||
Unit.Description = "Start ActivityWatch";
|
Unit.Description = "Start ActivityWatch";
|
||||||
Service.Type = "simple";
|
Service.Type = "simple";
|
||||||
|
|
@ -326,7 +216,8 @@ in {
|
||||||
systemd.user.services.activitywatch-afk = {
|
systemd.user.services.activitywatch-afk = {
|
||||||
Unit.Description = "Start ActivityWatch AFK";
|
Unit.Description = "Start ActivityWatch AFK";
|
||||||
Service.Type = "simple";
|
Service.Type = "simple";
|
||||||
Service.ExecStart = "${pkgs.unstable.activitywatch-bin}/bin/aw-watcher-afk";
|
Service.ExecStart =
|
||||||
|
"${pkgs.unstable.activitywatch-bin}/bin/aw-watcher-afk";
|
||||||
Install.WantedBy = [ "default.target" ];
|
Install.WantedBy = [ "default.target" ];
|
||||||
Service.Restart = "on-failure";
|
Service.Restart = "on-failure";
|
||||||
Service.RestartSec = 5;
|
Service.RestartSec = 5;
|
||||||
|
|
@ -334,7 +225,8 @@ in {
|
||||||
systemd.user.services.activitywatch-window = {
|
systemd.user.services.activitywatch-window = {
|
||||||
Unit.Description = "Start ActivityWatch Window";
|
Unit.Description = "Start ActivityWatch Window";
|
||||||
Service.Type = "simple";
|
Service.Type = "simple";
|
||||||
Service.ExecStart = "${pkgs.unstable.activitywatch-bin}/bin/aw-watcher-window";
|
Service.ExecStart =
|
||||||
|
"${pkgs.unstable.activitywatch-bin}/bin/aw-watcher-window";
|
||||||
Install.WantedBy = [ "default.target" ];
|
Install.WantedBy = [ "default.target" ];
|
||||||
Service.Restart = "on-failure";
|
Service.Restart = "on-failure";
|
||||||
Service.RestartSec = 5;
|
Service.RestartSec = 5;
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,7 @@ with lib.my;
|
||||||
|
|
||||||
let cfg = config.modules.desktop.xmonad;
|
let cfg = config.modules.desktop.xmonad;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.xmonad = {
|
options.modules.desktop.xmonad = { enable = mkBoolOpt false; };
|
||||||
enable = mkBoolOpt false;
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
|
@ -18,7 +16,7 @@ in {
|
||||||
windowManager.xmonad.enable = true;
|
windowManager.xmonad.enable = true;
|
||||||
displayManager.lightdm = {
|
displayManager.lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
background = "/etc/nixos/configs/files/wallpaper.png";
|
background = ./files/wallpaper.png;
|
||||||
greeters.mini.enable = true;
|
greeters.mini.enable = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -31,6 +29,13 @@ in {
|
||||||
config = ./files/xmonad.hs;
|
config = ./files/xmonad.hs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
home.packages = with pkgs.unstable; [
|
||||||
|
haskellPackages.xmobar
|
||||||
|
i3lock
|
||||||
|
|
||||||
|
feh
|
||||||
|
scrot
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,11 @@ in {
|
||||||
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
|
||||||
|
|
||||||
|
users.users.${config.user.name} = {
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
programs.zsh =
|
programs.zsh =
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
:completion
|
:completion
|
||||||
company ; the ultimate code completion backend
|
company ; the ultimate code completion backend
|
||||||
;;helm ; the *other* search engine for love and life
|
helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
;;ivy ; a search engine for love and life
|
;;ivy ; a search engine for love and life
|
||||||
vertico ; the search engine of the future
|
vertico ; the search engine of the future
|
||||||
48
modules/editor/emacs/emacs.nix
Normal file
48
modules/editor/emacs/emacs.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
{ inputs, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
let cfg = config.modules.editor.emacs;
|
||||||
|
in {
|
||||||
|
options.modules.editor.emacs = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home-manager.users.${config.user.name} = {
|
||||||
|
|
||||||
|
imports = [ inputs.nix-doom-emacs.hmModule ];
|
||||||
|
|
||||||
|
home.packages = with pkgs.unstable; [
|
||||||
|
ripgrep
|
||||||
|
fd
|
||||||
|
findutils.locate
|
||||||
|
|
||||||
|
metals
|
||||||
|
rnix-lsp
|
||||||
|
nixfmt
|
||||||
|
];
|
||||||
|
|
||||||
|
services.emacs = {
|
||||||
|
enable = true;
|
||||||
|
client.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.doom-emacs = {
|
||||||
|
enable = true;
|
||||||
|
doomPrivateDir = ./doom.d;
|
||||||
|
emacsPackagesOverlay = final: prev: {
|
||||||
|
ob-ammonite = with final;
|
||||||
|
(trivialBuild {
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "zwild";
|
||||||
|
repo = "ob-ammonite";
|
||||||
|
rev = "39937dff395e70aff76a4224fa49cf2ec6c57cca";
|
||||||
|
sha256 = pkgs.lib.fakeSha256;
|
||||||
|
};
|
||||||
|
pname = "ob-ammonite";
|
||||||
|
packageRequires = [ s dash editorconfig ];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
with lib.my;
|
with lib.my;
|
||||||
let cfg = config.modules.desktop.neovim;
|
|
||||||
|
let cfg = config.modules.editor.vim;
|
||||||
in {
|
in {
|
||||||
options.modules.desktop.neovim = {
|
options.modules.editor.vim = { enable = mkBoolOpt false; };
|
||||||
enable = mkBoolOpt false;
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.${config.user.name} = {
|
home-manager.users.${config.user.name} = {
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
14
modules/hardware/audio.nix
Normal file
14
modules/hardware/audio.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ options, config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
let cfg = config.modules.hardware.audio;
|
||||||
|
in {
|
||||||
|
options.modules.hardware.audio = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = true;
|
||||||
|
hardware.pulseaudio.support32Bit = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
networking.hosts = {
|
|
||||||
"127.0.0.1" = [ "localhost" "membres.yourcoop.local" ];
|
|
||||||
};
|
|
||||||
services.resolved.dnssec = "false";
|
|
||||||
}
|
|
||||||
22
modules/services/belgian-eid.nix
Normal file
22
modules/services/belgian-eid.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
|
||||||
|
let cfg = config.modules.services.belgian-eid;
|
||||||
|
in {
|
||||||
|
options.modules.services.belgian-eid = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(final: prev: {
|
||||||
|
firefox = prev.firefox.override { pkcs11Modules = [ prev.eid-mw ]; };
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs.unstable; [ eid-mw ];
|
||||||
|
};
|
||||||
|
}
|
||||||
18
modules/services/docker.nix
Normal file
18
modules/services/docker.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
|
||||||
|
let cfg = config.modules.services.docker;
|
||||||
|
in {
|
||||||
|
options.modules.services.docker = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
users.users.froidmpa.extraGroups = [ "docker" ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ docker-compose ];
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
19
modules/services/flatpak.nix
Normal file
19
modules/services/flatpak.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
|
||||||
|
let cfg = config.modules.services.flatpak;
|
||||||
|
in {
|
||||||
|
options.modules.services.flatpak = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
20
modules/services/libvirt.nix
Normal file
20
modules/services/libvirt.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
with lib.my;
|
||||||
|
|
||||||
|
let cfg = config.modules.services.libvirt;
|
||||||
|
in {
|
||||||
|
options.modules.services.libvirt = { enable = mkBoolOpt false; };
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
libvirtd.enable = true;
|
||||||
|
spiceUSBRedirection.enable = true;
|
||||||
|
};
|
||||||
|
users.users.froidmpa.extraGroups = [ "libvirtd" ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [ virt-manager ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{ config, lib, pkgs, nixpkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs.unstable; [
|
|
||||||
wget
|
|
||||||
inetutils
|
|
||||||
man
|
|
||||||
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
|
|
||||||
ripgrep
|
|
||||||
fd
|
|
||||||
findutils.locate
|
|
||||||
|
|
||||||
htop
|
|
||||||
ncdu
|
|
||||||
nload
|
|
||||||
pciutils
|
|
||||||
lsof
|
|
||||||
dnsutils
|
|
||||||
];
|
|
||||||
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = true;
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
|
||||||
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
users.users.froidmpa = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "adbusers" ];
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.ssh.startAgent = true;
|
|
||||||
|
|
||||||
services.udisks2.enable = true;
|
|
||||||
|
|
||||||
systemd.packages = [ pkgs.dconf ];
|
|
||||||
|
|
||||||
# Required for custom GTK themes
|
|
||||||
services.dbus.packages = with pkgs; [ dconf ];
|
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
xdg.portal = {
|
|
||||||
enable = true;
|
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
{
|
|
||||||
virtualisation = {
|
|
||||||
libvirtd.enable = true;
|
|
||||||
spiceUSBRedirection.enable = true;
|
|
||||||
docker.enable = true;
|
|
||||||
};
|
|
||||||
users.users.froidmpa.extraGroups = [ "docker" "libvirtd" ];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
docker-compose
|
|
||||||
virt-manager
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
final: prev:
|
final: prev: {
|
||||||
{
|
|
||||||
ncmpcpp = prev.ncmpcpp.override { visualizerSupport = true; };
|
|
||||||
firefox = prev.firefox.override { pkcs11Modules = [ prev.eid-mw ]; };
|
|
||||||
activitywatch-bin = prev.callPackage ./packages/activitywatch.nix { };
|
activitywatch-bin = prev.callPackage ./packages/activitywatch.nix { };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue