Updated to nixos-24.05, lot of small config changes

This commit is contained in:
Samy Avrillon 2025-09-02 14:04:38 +02:00
parent b0d74406fa
commit b69d5e8a45
13 changed files with 461 additions and 74 deletions

22
flake.lock generated
View File

@ -25,16 +25,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747688870, "lastModified": 1755928099,
"narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", "narHash": "sha256-OILVkfhRCm8u18IZ2DKR8gz8CVZM2ZcJmQBXmjFLIfk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d5f1f641b289553927b3801580598d200a501863", "rev": "4a44fb9f7555da362af9d499817084f4288a957f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11", "ref": "release-25.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -47,11 +47,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755137362, "lastModified": 1756001386,
"narHash": "sha256-3e/S+Q9InEZ+W1YxjrfjkuVz49IsF2vJZx7Id22RCkY=", "narHash": "sha256-QGyQ4kbltilt4Jg6LxaVqwyc7OxAjaDAtdusIW7uL/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "547b299dd5b8ddccf948ff6728d7ec547eee4e02", "rev": "b9fcd22d7cf5bb1cf75e32fc7ecb5df6156ec504",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -62,16 +62,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1751274312, "lastModified": 1755922037,
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=", "narHash": "sha256-wY1+2JPH0ZZC4BQefoZw/k+3+DowFyfOxv17CN/idKs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674", "rev": "b1b3291469652d5a2edb0becc4ef0246fff97a7c",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.11", "ref": "nixos-25.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }

View File

@ -2,9 +2,9 @@
description = "My common nixos system"; description = "My common nixos system";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";

View File

@ -84,5 +84,12 @@
}; };
boot.kernelParams = [ "i915.force_probe=7d45" ]; boot.kernelParams = [ "i915.force_probe=7d45" ];
system.stateVersion = "24.11"; hardware.bluetooth = {
enable = true;
powerOnBoot = true;
# Not experimental, show charge of devices
settings.General.Experimental = true;
};
system.stateVersion = "25.05";
} }

View File

@ -1,31 +1,25 @@
diff -x __pycache__ -ru thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.cpp thunderbird/thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.cpp diff -rp1 -u a/comm/mailnews/base/src/nsMsgIncomingServer.cpp b/comm/mailnews/base/src/nsMsgIncomingServer.cpp
--- thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.cpp 2025-05-13 15:22:25.000000000 +0200 --- a/comm/mailnews/base/src/nsMsgIncomingServer.cpp 2025-07-21 18:15:26.000000000 +0200
+++ thunderbird/thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.cpp 2025-08-21 03:49:50.217872643 +0200 +++ b/comm/mailnews/base/src/nsMsgIncomingServer.cpp 2025-08-24 23:18:34.302163372 +0200
@@ -41,6 +41,15 @@ @@ -51,2 +51,11 @@
#include "mozilla/Unused.h"
#include "nsIUUIDGenerator.h"
#include "nsIArray.h"
+#include "mozilla/SpinEventLoopUntil.h" +#include "mozilla/SpinEventLoopUntil.h"
+#include "nsIProcess.h" +#include "nsIProcess.h"
+#include "mozilla/RandomNum.h" +#include "mozilla/RandomNum.h"
+#include "nsIServerSocket.h" +#include "nsIServerSocket.h"
+#include "nsIAsyncInputStream.h" +#include "nsIAsyncInputStream.h"
+#include "nsISocketTransport.h" +#include "nsISocketTransport.h"
+#include "nsIBinaryInputStream.h"
+#include "nsIObjectInputStream.h" +#include "nsIObjectInputStream.h"
+#include "nsDirectoryServiceDefs.h" +#include "nsDirectoryServiceDefs.h"
+
#define PORT_NOT_SET -1 #define PORT_NOT_SET -1
@@ -708,2 +717,218 @@ nsresult nsMsgIncomingServer::GetPasswor
@@ -707,12 +716,241 @@
return NS_OK;
}
+nsresult +nsresult
+nsMsgIncomingServer::GetPasswordCommand(nsTArray<nsString> &passwordCommand) { +nsMsgIncomingServer::GetPasswordCommand(nsTArray<nsString> &passwordCommand) {
+ nsString serializedCommand; + nsAutoCString serializedCommand;
+ +
+ nsresult rv = GetUnicharValue("passwordCommand", serializedCommand); + nsresult rv = GetStringValue("passwordCommand", serializedCommand);
+ NS_ENSURE_SUCCESS(rv, rv); + NS_ENSURE_SUCCESS(rv, rv);
+ +
+ if (serializedCommand.Length() == 0) + if (serializedCommand.Length() == 0)
@ -197,7 +191,8 @@ diff -x __pycache__ -ru thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomin
+ nsCOMPtr<nsIFile> executableFile = + nsCOMPtr<nsIFile> executableFile =
+ do_CreateInstance("@mozilla.org/file/local;1", &rv); + do_CreateInstance("@mozilla.org/file/local;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv); + NS_ENSURE_SUCCESS(rv, rv);
+ executableFile->InitWithPath(executable); + rv = executableFile->InitWithPath(executable);
+ NS_ENSURE_SUCCESS(rv, rv);
+ +
+ nsCOMPtr<nsIProcess> process = + nsCOMPtr<nsIProcess> process =
+ do_CreateInstance("@mozilla.org/process/util;1", &rv); + do_CreateInstance("@mozilla.org/process/util;1", &rv);
@ -237,10 +232,7 @@ diff -x __pycache__ -ru thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomin
+} +}
+ +
NS_IMETHODIMP NS_IMETHODIMP
nsMsgIncomingServer::GetPasswordWithUI(const nsAString& aPromptMessage, @@ -714,2 +939,16 @@ nsMsgIncomingServer::GetPasswordWithUI(c
const nsAString& aPromptTitle,
nsAString& aPassword) {
nsresult rv = NS_OK;
+ nsTArray<nsString> passwordCommand; + nsTArray<nsString> passwordCommand;
+ rv = GetPasswordCommand(passwordCommand); + rv = GetPasswordCommand(passwordCommand);
@ -257,18 +249,12 @@ diff -x __pycache__ -ru thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomin
+ } + }
+ +
if (m_password.IsEmpty()) { if (m_password.IsEmpty()) {
// let's see if we have the password in the password manager and diff -rp1 -u a/comm/mailnews/base/src/nsMsgIncomingServer.h b/comm/mailnews/base/src/nsMsgIncomingServer.h
// can avoid this prompting thing. This makes it easier to get embedders --- a/comm/mailnews/base/src/nsMsgIncomingServer.h 2025-07-21 18:15:26.000000000 +0200
diff -x __pycache__ -ru thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.h thunderbird/thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.h +++ b/comm/mailnews/base/src/nsMsgIncomingServer.h 2025-08-24 19:21:59.609543392 +0200
--- thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.h 2025-05-13 15:22:25.000000000 +0200 @@ -50,2 +50,5 @@ class nsMsgIncomingServer : public nsIMs
+++ thunderbird/thunderbird-128.10.1/comm/mailnews/base/src/nsMsgIncomingServer.h 2025-08-19 12:39:19.236805257 +0200
@@ -48,6 +48,9 @@
nsCString m_serverKey;
bool m_hasShutDown;
+ nsresult GetPasswordCommand(nsTArray<nsString> &passwordCommand); + nsresult GetPasswordCommand(nsTArray<nsString> &passwordCommand);
+ nsresult RunPasswordCommand(nsTArray<nsString> &passwordCommand, nsAString& password); + nsresult RunPasswordCommand(nsTArray<nsString> &passwordCommand, nsAString& password);
+ +
// Sets m_password, if password found. Can return NS_ERROR_ABORT if the // Sets m_password, if password found. Can return NS_ERROR_ABORT if the
// user cancels the master password dialog.
nsresult GetPasswordWithoutUI();

View File

@ -13,6 +13,7 @@
./locale.nix ./locale.nix
./ssh.nix ./ssh.nix
./email.nix ./email.nix
./email-filters.nix
./git.nix ./git.nix
]; ];
@ -36,6 +37,7 @@
); );
# Set your time zone. # Set your time zone.
#time.timeZone = "Europe/Paris";
time.timeZone = "Europe/Paris"; time.timeZone = "Europe/Paris";
# Configure network proxy if necessary # Configure network proxy if necessary

View File

@ -0,0 +1,249 @@
{config, pkgs, lib, ...}:
let
filterToString = (f:
if builtins.isString f
then "(all addresses,contains,${f})"
else if builtins.isList f
then "OR "+(lib.strings.concatStringsSep " OR " (builtins.map filterToString f))
else builtins.throw "Wrong filter content"
);
convertFilters = (filz: builtins.map (fil: {
enabled = true;
type = "17";
name = "Moving emails to folder "+fil.folder;
action = "Move to folder";
actionValue = "imap://mysaa%40hadoly.fr@imap.hadoly.fr/"+(fil.folderEscaped or fil.folder);
condition = filterToString fil.email;
}) filz);
restFilter = (out: {
enabled = true;
type = "17";
name = "Moving other emails to "+out;
action = "Move to folder";
actionValue = "imap://mysaa%40hadoly.fr@imap.hadoly.fr/INBOX/"+out;
condition = "ALL";
});
rules = [
{
folder = "Assos/AliENS";
email = [
"aliens.discussion@ens-lyon.fr"
"aliens.discussion@listes.ens-lyon.fr"
];
}
{
folder = "Assos/AliENS/CA";
email = [
"aliens.ca@ens-lyon.fr"
"aliens.ca@listes.ens-lyon.fr"
"aliens.contact@ens-lyon.fr"
"aliens.contact@listes.ens-lyon.fr"
];
}
{
folder = "Assos/BuL/Murders";
email = [
"bul.murder.decouverte@ens-lyon.fr"
"bul.murder.decouverte@listes.ens-lyon.fr"
"bul.murder@ens-lyon.fr"
"bul.murder@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Démesures";
folderEscaped = "Assos/D&AOk-mesures";
email = [
"demesures@ens-lyon.fr"
"demesures@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Diffs";
email = [
"fede.diffusion@ens-lyon.fr"
"fede.diffusion@listes.ens-lyon.fr"
"info.elus.etudiants@ens-lyon.fr"
"info.elus.etudiants@listes.ens-lyon.fr"
"bde.diffusion@ens-lyon.fr"
"bde.diffusion@listes.ens-lyon.fr"
"bul.diffusion@ens-lyon.fr"
"bul.diffusion@listes.ens-lyon.fr"
"enverts.diffusion@ens-lyon.fr"
"enverts.diffusion@listes.ens-lyon.fr"
"trensistor.diffusion@ens-lyon.fr"
"trensistor.diffusion@listes.ens-lyon.fr"
"aliens.diffusion@ens-lyon.fr"
"aliens.diffusion@listes.ens-lyon.fr"
"bde.kfet.diffusion@ens-lyon.fr"
"bde.kfet.diffusion@listes.ens-lyon.fr"
"as-ensl@ens-lyon.fr"
"as-ensl@listes.ens-lyon.fr"
"bde.foyer@ens-lyon.fr"
"bde.foyer@listes.ens-lyon.fr"
"asset.diffusion@ens-lyon.fr"
"asset.diffusion@listes.ens-lyon.fr"
"echarde.diffusion@framalistes.org"
"echarde.membres@framalistes.org"
"enverts.enselle@ens-lyon.fr"
"enverts.enselle@listes.ens-lyon.fr"
"enverts.engraines.descartes@ens-lyon.fr"
"enverts.engraines.monod@listes.ens-lyon.fr"
"discourse+noreply@openstreetmap.fr"
"grrrndzero@grrrndzero.org"
"info@cinefac.fr"
];
}
{
folder = "Assos/ENSeigner";
email = [
"enseigner.tuteurices@ens-lyon.fr"
"enseigner.tuteurices@listes.ens-lyon.fr"
];
}
{
folder = "Assos/ENvertS";
email = [
"enverts.bureau@ens-lyon.fr"
"enverts.bureau@listes.ens-lyon.fr"
];
}
{
folder = "Assos/ENvertS/Framavox";
email = [
"notifications@framavox.org"
];
}
{
folder = "Assos/Fédé";
folderEscaped = "Assos/F&AOk-d&AOk-";
email = [
"fede.ca@ens-lyon.fr"
"fede.ca@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Fédé/Art Total";
folderEscaped = "Assos/F&AOk-d&AOk-/Art Total";
email = [
"fede.art-total@ens-lyon.fr"
"fede.art-total@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Fédé/Bureau";
folderEscaped = "Assos/F&AOk-d&AOk-/Bureau";
email = [
"federation@ens-lyon.fr"
"federation@listes.ens-lyon.fr"
"fede.communications@ens-lyon.fr"
];
}
{
folder = "Assos/Fédé/Informatique";
folderEscaped = "Assos/F&AOk-d&AOk-/Informatique";
email = [
"fede.informatique@ens-lyon.fr"
"fede.informatique@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Fédé/Juridique";
folderEscaped = "Assos/F&AOk-d&AOk-/Juridique";
email = [
"fede.juridique@ens-lyon.fr"
"fede.juridique@listes.ens-lyon.fr"
];
}
{
folder = "Assos/Modération";
folderEscaped = "Assos/Mod&AOk-ration";
email = [
"sympa@listes.ens-lyon.fr"
];
}
{
folder = "Assos/tous-spam";
email = [
"tous.ens@ens-lyon.fr"
"tous.ens@listes.ens-lyon.fr"
"tous.culture@ens-lyon.fr"
"tous.culture@listes.ens-lyon.fr"
"tous.manifestations.scientifiques@ens-lyon.fr"
"tous.manifestations.scientifiques@listes.ens-lyon.fr"
"tous.etudiants@ens-lyon.fr"
"tous.etudiants@listes.ens-lyon.fr"
"tous.normaliens-eleves@ens-lyon.fr"
"tous.normaliens-eleves@listes.ens-lyon.fr"
"culture@ens-lyon.fr"
"culture@listes.ens-lyon.fr"
"information.patrimoine@ens-lyon.fr"
"information.patrimoine@listes.ens-lyon.fr"
"tous.transition.ecologique@ens-lyon.fr"
"tous.transition.ecologique@listes.ens-lyon.fr"
"manifestations.ife@ens-lyon.fr"
"manifestations.ife@listes.ens-lyon.fr"
"cercc@ens-lyon.fr"
"cercc@listes.ens-lyon.fr"
"info.syndicat.cgt@ens-lyon.fr"
"info.syndicat.cgt@listes.ens-lyon.fr"
"info.syndicat.sud@ens-lyon.fr"
"info.syndicat.sud@listes.ens-lyon.fr"
"info.syndicat.cfdt@ens-lyon.fr"
"info.syndicat.cfdt@listes.ens-lyon.fr"
"info.syndicat.snesup-fsu@ens-lyon.fr"
"info.syndicat.snesup-fsu@listes.ens-lyon.fr"
"info.syndicat.sud@ens-lyon.fr"
"info.syndicat.sud@listes.ens-lyon.fr"
"newsletter@national.lescrous.fr"
"infos@national.lescrous.fr"
];
}
{
folder = "Notif";
email = [
"nepasrepondre@credit-cooperatif.coop"
"noreply@github.com"
"no-reply@twitch.tv"
"ne_pas_repondre@sfr.fr"
"expiry@letsencrypt.org"
"info@mail.sncfconnect.com"
"service@paypal.fr"
"purchase-noreply@twitch.tv"
"no-reply@doctolib.fr"
"no-reply@canva.com"
"notifications@transifex.com"
"ne-pas-repondre@inscriptionelectorale.service-public.fr"
"noreply@steampowered.com"
"noreply@connect.sncf"
"no-reply@spotify.com"
"messagerie.leboncoin.fr"
"no.reply@leboncoin.fr"
"nepasrepondre-filesender@renater.fr"
"gitlab@aliens-lyon.fr"
"postman@ulule.com"
"no-reply@accounts.google.com"
"notifications@discord.com"
"help@acct.epicgames.com"
];
}
{
folder = "Etudes";
email = [
"types-announce@lists.seas.upenn.edu"
"categories@mq.edu.au"
"ice@framalistes.org"
"cashreadinggroup@listes.ens-lyon.fr"
];
}
];
in {
home-manager.users.mysaa.accounts.email.accounts = {
personal.thunderbird.messageFilters = convertFilters rules ++ [ (restFilter "s@nc") ];
ens.thunderbird.messageFilters = convertFilters rules ++ [ (restFilter "ENS-Lyon") ];
junk.thunderbird.messageFilters = convertFilters rules ++ [ (restFilter "q@nc") ];
google.thunderbird.messageFilters = convertFilters rules ++ [ (restFilter "Google") ];
ecloud.thunderbird.messageFilters = convertFilters rules ++ [ (restFilter "ECloud") ];
hadoly.thunderbird.messageFilters = [ (restFilter "Hadoly") ];
};
}

View File

@ -29,6 +29,18 @@
ens = { ens = {
address = "samy.avrillon@ens-lyon.fr"; address = "samy.avrillon@ens-lyon.fr";
realName = "Samy Avrillon";
imap = {
host = "imaps.ens-lyon.fr";
port = 993;
tls.enable = true;
};
smtp = {
host = "smtp.ens-lyon.fr";
port = 587;
tls.enable = true;
};
userName = "savrillo";
}; };
personal = { personal = {
@ -50,11 +62,82 @@
junk = { junk = {
address = "qqnavrillon@netcourrier.com"; address = "qqnavrillon@netcourrier.com";
realName = "Qqn Avrillon";
imap = {
host = "mail.mailo.com";
port = 993;
tls.enable = true;
};
smtp = {
host = "mail.mailo.com";
port = 465;
tls.enable = true;
};
userName = "qqnavrillon@netcourrier.com";
}; };
google = { google = {
address = "samsouleavr@gmail.com"; address = "samsouleavr@gmail.com";
realName = "Samsoule Avr";
imap = {
host = "imap.gmail.com";
port = 993;
tls.enable = true;
};
smtp = {
host = "smtp.gmail.com";
port = 587;
tls.enable = true;
};
userName = "samsouleavr@gmail.com";
}; };
bernard = {
address = "bernard.lafayette63@gmail.com";
realName = "Bernard Lafayette";
imap = {
host = "imap.gmail.com";
port = 993;
tls.enable = true;
};
smtp = {
host = "imap.gmail.com";
port = 465;
tls.enable = true;
};
userName = "bernard.lafayette63@gmail.com";
};
dmesures = {
address = "samy.avrillon@dmesures.eu";
realName = "Samy pour Démesures";
imap = {
host = "mail.deady.space";
port = 993;
tls.enable = true;
};
smtp = {
host = "mail.deady.space";
port = 465;
tls.enable = true;
};
userName = "samy.avrillon@dmesures.eu";
};
ecloud = {
address = "mysaa@e.email";
realName = "Mysaa Java";
imap = {
host = "mail.ecloud.global";
port = 993;
tls.enable = true;
};
smtp = {
host = "mail.ecloud.global";
port = 587;
tls.enable = true;
tls.useStartTls = true;
};
userName = "mysaa@e.email";
};
}; };

View File

@ -16,6 +16,12 @@
aliases = { aliases = {
l = "log --oneline --graph"; l = "log --oneline --graph";
}; };
extraConfig = {
init.defaultBranch = "main";
# TODO remove that, as it is a fix of https://github.com/input-output-hk/haskell.nix/issues/2214 but for coq-nix-toolbox
safe.directory = "*";
};
}; };
} }

View File

@ -2,7 +2,7 @@
eduroam-IPv6only = { eduroam-IPv6only = {
"802-1x" = { "802-1x" = {
anonymous-identity = "anonymous@ens-lyon.fr"; anonymous-identity = "anonymous@ens-lyon.fr";
ca-cert = "/usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt"; ca-cert = "/etc/ssl/certs/ca-certificates.crt";
domain-suffix-match = "ens-lyon.fr"; domain-suffix-match = "ens-lyon.fr";
eap = "peap"; eap = "peap";
identity = "savrillo@ens-lyon.fr"; identity = "savrillo@ens-lyon.fr";
@ -37,7 +37,7 @@
eduroam = { eduroam = {
"802-1x" = { "802-1x" = {
anonymous-identity = "anonymous@ens-lyon.fr"; anonymous-identity = "anonymous@ens-lyon.fr";
ca-cert = "/etc/ssl/certs/USERTrust_RSA_Certification_Authority.pem"; ca-cert = "/etc/ssl/certs/ca-certificates.crt";
domain-suffix-match = "ens-lyon.fr"; domain-suffix-match = "ens-lyon.fr";
eap = "peap"; eap = "peap";
identity = "savrillo@ens-lyon.fr"; identity = "savrillo@ens-lyon.fr";

View File

@ -31,6 +31,11 @@
Port 6962 Port 6962
ConnectTimeout 10 ConnectTimeout 10
AddressFamily inet AddressFamily inet
Host gitlab.aliens-lyon.fr
HostName gitlab.aliens-lyon.fr
User savrillo
IdentityFile /run/secrets/ssh/savrillo@gitlab.ens-lyon.fr
''; '';
}; };

View File

@ -10,6 +10,7 @@
{ {
imports = [ imports = [
../basic ../basic
./kde.nix
./packages.nix ./packages.nix
]; ];

View File

@ -0,0 +1,31 @@
{
config,
lib,
pkgs,
...
}:
{
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
];
home-manager.users.mysaa.home.file.".config/kdeglobals".text = lib.generators.toINI {} {
KDE = {
SingleClick = true;
};
};
home-manager.users.mysaa.services.kdeconnect.enable = true;
# We open kdeconnect ports
networking.firewall = rec {
allowedTCPPortRanges = [
{
from = 1714;
to = 1764;
}
];
allowedUDPPortRanges = allowedTCPPortRanges;
};
}

View File

@ -10,10 +10,6 @@
discord discord
]; ];
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
];
home-manager.users.mysaa.home.packages = with pkgs; [ home-manager.users.mysaa.home.packages = with pkgs; [
firefox firefox
vlc vlc
@ -32,28 +28,37 @@
#hyphenDicts.fr_FR #hyphenDicts.fr_FR
hyphenDicts.en_US hyphenDicts.en_US
hyphenDicts.de_DE hyphenDicts.de_DE
heroic
spotify
kdiff3
]; ];
programs.steam.enable = true; programs.steam.enable = true;
home-manager.users.mysaa.services.kdeconnect.enable = true; home-manager.users.mysaa.accounts.email.accounts = {
# We open kdeconnect ports "hadoly".thunderbird.enable = true;
networking.firewall = rec { "personal".thunderbird.enable = true;
allowedTCPPortRanges = [ "ens".thunderbird.enable = true;
{ "junk".thunderbird.enable = true;
from = 1714; "google".thunderbird.enable = true;
to = 1764; "bernard".thunderbird.enable = true;
} "dmesures".thunderbird.enable = true;
]; "ecloud".thunderbird.enable = true;
allowedUDPPortRanges = allowedTCPPortRanges;
}; };
home-manager.users.mysaa.accounts.email.accounts."hadoly".thunderbird.enable = true;
home-manager.users.mysaa.accounts.email.accounts."personal".thunderbird.enable = true;
home-manager.users.mysaa.programs.thunderbird = { home-manager.users.mysaa.programs.thunderbird = {
enable = true; enable = true;
profiles.default = { profiles.default = {
isDefault = true; isDefault = true;
accountsOrder = [
"hadoly"
"dmesures"
"bernard"
"ens"
"personal"
"junk"
"ecloud"
"google"
];
settings = settings =
{ } { }
// lib.attrsets.concatMapAttrs ( // lib.attrsets.concatMapAttrs (
@ -63,7 +68,8 @@
id = builtins.hashString "sha256" account.name; id = builtins.hashString "sha256" account.name;
command = lib.concatStringsSep " " account.passwordCommand; command = lib.concatStringsSep " " account.passwordCommand;
passwordScript = pkgs.writeShellScript "get-password.sh" '' passwordScript = pkgs.writeShellScript "get-password.sh" ''
${command} | tr -d $'\n' | ${pkgs.netcat}/bin/nc -w 0 -U $1 echo "Got command $1" >> /tmp/thunderpasswordget
${command} | ${pkgs.netcat}/bin/nc -w 0 -U $1
''; '';
in in
lib.optionalAttrs (account.smtp != null) { lib.optionalAttrs (account.smtp != null) {
@ -77,14 +83,25 @@
}; };
}; };
home-manager.users.mysaa.nixpkgs.overlays = [ # home-manager.users.mysaa.nixpkgs.overlays = [
(final: prev: { # (final: prev: {
thunderbird-unwrapped = prev.thunderbird-unwrapped.overrideAttrs { # thunderbird-unwrapped = prev.thunderbird-unwrapped.overrideAttrs {
patches = (prev.thunderbird-unwrapped.patches or [ ]) ++ [ # patches = (prev.thunderbird-unwrapped.patches or [ ]) ++ [
../../packages/add_passwordcommand_smtp.patch # ../../packages/add_passwordcommand_smtp.patch
../../packages/add_passwordcommand_imap.patch # ../../packages/add_passwordcommand_imap.patch
]; # ];
}; # };
}) # })
]; # ];
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;
};
} }