91 lines
2.5 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
list-replace = l: e: e':
(let i = lib.lists.findFirstIndex (a: a == e) (-1) l; in
if (i == (-1)) then builtins.throw "Could not find item in list" else (lib.lists.take i l ++ [e'] ++ lib.lists.drop (i+1) l));
dovecot-mysaa = pkgs.dovecot.overrideAttrs {
configureFlags =
list-replace (list-replace pkgs.dovecot.configureFlags "--sysconfdir=/etc" "--sysconfdir=/home/mysaa/.local/etc/")
"--localstatedir=/var" "--localstatedir=/home/mysaa/.local/var";
}; in
{
environment.systemPackages = with pkgs; [
discord
];
home-manager.users.mysaa.home.packages = with pkgs; [
firefox
vlc
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-marketplace; [
maximedenes.vscoq
myriad-dreamin.tinymist
vmware.vscode-boot-dev-pack
ms-python.python
edwinkofler.vscode-hyperupcall-pack-java
];
})
libreoffice
#hyphenDicts.fr_FR
hyphenDicts.en_US
hyphenDicts.de_DE
heroic
spotify
kdiff3
pdfarranger
anki-bin # Register addons here (and login to anki-server)
];
programs.steam.enable = true;
home-manager.users.mysaa.programs.keepassxc.enable = true;
home-manager.users.mysaa.programs.keepassxc.settings = {
General.NumberOfRememberedLastDatabases = 1;
General.UseAtomicSaves = false;
Browser.Enabled = true;
Browser.AlwaysAllowAccess = true;
Browser.MatchUrlScheme = false;
GUI.MinimizeOnStartup = true;
GUI.ShowExpiredEntriesOnDatabaseUnlock = false;
PasswordGenerator.Length = 24;
};
virtualisation.virtualbox.host.enable = true;
users.extraGroups.vboxusers.members = [ "mysaa" ];
virtualisation.virtualbox.host.enableKvm = true;
virtualisation.virtualbox.host.addNetworkInterface = false;
home-manager.users.mysaa.systemd.user.services.heroic-launcher = {
Unit = {
Description = "Launching the heroic game launcher";
After = "network.target";
};
Service = {
Type = "simple";
ExecStart = "${pkgs.heroic}/bin/heroic";
};
};
home-manager.users.mysaa.systemd.user.timers.weekly-heroic-launcher = {
Unit = {
Description = "Run the heroic game launcher weekly for downloading the free game";
};
Timer = {
OnCalendar = "Mon *-*-* 08:00:00 Europe/Paris";
Persistent = "true";
Unit = "heroic-launcher.service";
};
Install = {
WantedBy = [ "timers.target" ];
};
};
}