Compare commits

..
17 Commits
Author SHA1 Message Date
Administrateur 862d9291be Update on file and add pantheon 2026-07-18 15:37:43 +02:00
Administrateur 821c51e0fa Desibaled cuda 2026-07-17 12:23:31 +02:00
Administrateur 0e9d3d8dd8 Mise à jour des dépendances 2026-07-17 10:54:17 +02:00
Administrateur 95dfb78b48 Passage de podman à docker 2026-07-16 22:22:08 +02:00
Administrateur 3af3fcb9d3 Delete bluetooth.nix 2026-07-11 22:54:00 +02:00
Administrateur 8f0df0f827 Nettoyage et mise à jour 2026-07-11 22:46:51 +02:00
Administrateur bbbf69e9e9 And for Ghostty 2026-07-08 09:45:26 +02:00
Administrateur dee75a51e2 Move firefox into module and clean useless folder 2026-07-08 09:45:00 +02:00
Administrateur e091288eb7 Move useless partials as modules 2026-07-08 00:53:17 +02:00
Administrateur 4e922387bf cleaning process 2026-07-06 22:08:50 +02:00
Administrateur ddfa93ddda Refine bootloader and boot splash configurations
Configure the Limine bootloader to manage up to 10 generations and enable `canTouchEfiVariables` for improved EFI system integration.
Additionally, set Plymouth's `DeviceScale` to 2 to ensure the boot splash screen displays correctly on high-DPI monitors.
2026-06-14 16:07:13 +02:00
Administrateur db4c0e1320 Switch to GNOME and Limine bootloader
Migrates the NixOS system to use GNOME as the primary desktop environment and Limine as the bootloader.

This involves removing the KDE Plasma configuration module and adding a dedicated module for Limine. Also includes a minor cleanup in the Darwin home-manager configuration.
2026-06-14 13:01:19 +02:00
Administrateur 5fbdbe4d3e Modification de la configuration Darwin 2026-06-14 12:54:58 +02:00
Administrateur 1f6e685639 Add KDE 2026-06-06 21:07:49 +02:00
Administrateur 2802cfe28d Change structure 2026-04-12 15:41:44 +02:00
Administrateur 4ed0b94da5 Change configuration structure 2026-04-10 23:31:52 +02:00
Administrateur 1df132a22d Change structure, add scanner deps and fix configurations 2026-04-10 23:26:05 +02:00
47 changed files with 462 additions and 472 deletions
Generated
+37 -37
View File
@@ -3,16 +3,16 @@
"brew-src": {
"flake": false,
"locked": {
"lastModified": 1774235677,
"narHash": "sha256-0ryNYmzDAeRlrzPTAgmzGH/Cgc8iv/LBN6jWGUANvIk=",
"lastModified": 1778427648,
"narHash": "sha256-pt9KaDGsMyYWB9JeHs4XGHs870f1lOZe3vx9LpVIhUE=",
"owner": "Homebrew",
"repo": "brew",
"rev": "894a3d23ac0c8aaf561b9874b528b9cb2e839201",
"rev": "6f293daa9f9f5832e13b497976335e90509886d7",
"type": "github"
},
"original": {
"owner": "Homebrew",
"ref": "5.1.1",
"ref": "5.1.11",
"repo": "brew",
"type": "github"
}
@@ -22,11 +22,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1775087534,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -42,16 +42,16 @@
]
},
"locked": {
"lastModified": 1775077333,
"narHash": "sha256-OXcxobt7lBkh1B8AjwreU+24myhtKpqeLfAeIyNLFY8=",
"lastModified": 1783740085,
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "49ca96b2714c5931e17401eff87f3edd42d2b0f2",
"rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"ref": "release-26.05",
"repo": "home-manager",
"type": "github"
}
@@ -59,11 +59,11 @@
"homebrew-cask": {
"flake": false,
"locked": {
"lastModified": 1775399032,
"narHash": "sha256-+XlQ98j/SiUU4mt60Sdr80r+VaSFbytWCQbDKVpbJlM=",
"lastModified": 1780406524,
"narHash": "sha256-iK9no4rW7MZMBdfjrrgbU+rzCgl5n2VoHJj/bb1GVho=",
"owner": "homebrew",
"repo": "homebrew-cask",
"rev": "6224c3ef30ddffb5a08f9e6183ed0c71a0cb626b",
"rev": "f881b5768475bc60da14e7ca20c56f3509b80f1b",
"type": "github"
},
"original": {
@@ -75,11 +75,11 @@
"homebrew-core": {
"flake": false,
"locked": {
"lastModified": 1775403617,
"narHash": "sha256-HWlnXvX/P5ynsdPHiuDCoCxGp8ZOQYXoKLVioZBfJtE=",
"lastModified": 1780407978,
"narHash": "sha256-hgOsqpzD6qsKlLOAxKyNCbCPxVuYLsmWcfxOxbxTwYA=",
"owner": "homebrew",
"repo": "homebrew-core",
"rev": "322375479e22d7f97efe4f0598ad20bf33553dc2",
"rev": "132ca82e883600ec9e1f9b9d73f87db040c07605",
"type": "github"
},
"original": {
@@ -90,11 +90,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1773693634,
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=",
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic",
"repo": "import-tree",
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github"
},
"original": {
@@ -110,16 +110,16 @@
]
},
"locked": {
"lastModified": 1772129556,
"narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=",
"lastModified": 1783744694,
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "ebec37af18215214173c98cf6356d0aca24a2585",
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"ref": "nix-darwin-25.11",
"ref": "nix-darwin-26.05",
"repo": "nix-darwin",
"type": "github"
}
@@ -145,11 +145,11 @@
"brew-src": "brew-src"
},
"locked": {
"lastModified": 1774720267,
"narHash": "sha256-YYftFe8jyfpQI649yfr0E+dqEXE2jznZNcYvy/lKV1U=",
"lastModified": 1778851564,
"narHash": "sha256-p8wzcnpB2Iys+QzAKM9/Eyw/pUyqCO3sw/NCnDH4dTE=",
"owner": "zhaofengli",
"repo": "nix-homebrew",
"rev": "a7760a3a83f7609f742861afb5732210fdc437ed",
"rev": "b3a87b4793205cc111f3c61e25e018ffac3b8039",
"type": "github"
},
"original": {
@@ -160,27 +160,27 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1775002709,
"narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=",
"lastModified": 1783703440,
"narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e",
"rev": "8f0500b9660505dc3cb647775fe9a978a74b5283",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1774748309,
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "333c4e0545a6da976206c74db8773a1645b5870a",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -191,11 +191,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1775036866,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github"
},
"original": {
+6 -5
View File
@@ -6,15 +6,15 @@
flake-parts.url = "github:hercules-ci/flake-parts";
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Nix Darwin
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-25.11";
nix-darwin.url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
# Home manager
home-manager.url = "github:nix-community/home-manager/release-25.11";
home-manager.url = "github:nix-community/home-manager/release-26.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Nix Flatpak
@@ -55,10 +55,10 @@
nixos = nixpkgs.lib.nixosSystem {
specialArgs = {
self = self;
nixpkgs = nixpkgs;
nixpkgs-unstable = nixpkgs-unstable;
import-tree = import-tree;
home-manager = home-manager;
nixpkgs = nixpkgs;
nixpkgs-unstable = nixpkgs-unstable;
};
modules = [
(import-tree ./overlays/nixos)
@@ -69,6 +69,7 @@
]
++ [
(import-tree ./overlays/nixos)
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
+1
View File
@@ -4,4 +4,5 @@
home-manager.useUserPackages = true;
home-manager.overwriteBackup = true;
home-manager.backupFileExtension = "bak";
home-manager.sharedModules = [ ];
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

@@ -1,19 +0,0 @@
{
config,
...
}:
let
wallpaperPath = "${config.home.homeDirectory}/.config/wallpaper/current-wallpaper.jpg";
in
{
# Create wallpaper directory and download wallpaper
home.file.".config/wallpaper/current-wallpaper.jpg" = {
source = ./walls.jpg;
};
# Set wallpaper using activation script
home.activation.setWallpaper = config.lib.dag.entryAfter [ "writeBoundary" ] ''
# Set wallpaper for all desktops using osascript
$DRY_RUN_CMD /usr/bin/osascript -e "tell application \"System Events\" to tell every desktop to set picture to \"${wallpaperPath}\""
'';
}
+4 -4
View File
@@ -27,16 +27,16 @@
# Nix & languages env deps
home.env.nix.enable = true;
home.env.jdk.enable = true;
home.env.rust.enable = true;
home.env.python.enable = true;
# No Home Application Folders
targets.darwin.linkApps.enable = false;
targets.darwin.copyApps.enable = false;
# Home packages
home.packages = [ ];
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "25.11";
home.stateVersion = "26.05";
};
}
+2 -1
View File
@@ -1,7 +1,6 @@
{ ... }:
{
system.primaryUser = "alistreaza";
nixpkgs.hostPlatform = "aarch64-darwin";
# Homebrew apps
os.homebrew.ghostty.enable = true;
@@ -12,4 +11,6 @@
os.homebrew.obsidian.enable = true;
os.homebrew.microsoft.enable = true;
os.homebrew.keka.enable = true;
nixpkgs.hostPlatform = "aarch64-darwin";
}
-1
View File
@@ -56,7 +56,6 @@
StageManagerHideWidgets = true;
# Desktop
StandardHideWidgets = true;
StandardHideDesktopIcons = true;
EnableStandardClickToShowDesktop = false;
};
menuExtraClock.IsAnalog = false;
-72
View File
@@ -1,72 +0,0 @@
{ ... }:
{
programs.firefox = {
enable = true;
policies = {
ExtensionSettings = {
"uBlock0@raymondhill.net" = {
default_area = "menupanel";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
private_browsing = true;
};
};
};
profiles.alistreaza = {
settings = {
# Disable some telemetry
"app.shield.optoutstudies.enabled" = false;
"browser.discovery.enabled" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"browser.ping-centre.telemetry" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.sessions.current.clean" = true;
"devtools.onboarding.telemetry.logged" = false;
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.hybridContent.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.prompted" = 2;
"toolkit.telemetry.rejected" = true;
"toolkit.telemetry.reportingpolicy.firstRun" = false;
"toolkit.telemetry.server" = "";
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.unifiedIsOptIn" = false;
"toolkit.telemetry.updatePing.enabled" = false;
# New tab page
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false;
# No bookmartks
"browser.toolbars.bookmarks.visibility" = "never";
# Vertical tabs
"sidebar.backupState" = {
"panelOpen" = true;
"launcherExpanded" = false;
"launcherVisible" = true;
};
"sidebar.new-sidebar.has-used" = true;
"sidebar.verticalTabs" = true;
"sidebar.revamp" = true;
"sidebar.main.tools" = "history,passwords";
};
};
};
xdg.mimeApps.defaultApplications = {
"text/html" = [ "firefox.desktop" ];
"text/xml" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
};
}
-14
View File
@@ -1,14 +0,0 @@
{ ... }:
{
programs.ghostty = {
enable = true;
enableZshIntegration = true;
settings = {
background-opacity = 0.9;
keybind = [
"performable:ctrl+c=copy_to_clipboard"
"performable:ctrl+v=paste_from_clipboard"
];
};
};
}
-108
View File
@@ -1,108 +0,0 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant;
{
home.packages = with pkgs; [
papirus-icon-theme
gnomeExtensions.paperwm
gnomeExtensions.app-hider
gnomeExtensions.dash-to-dock
];
dconf = {
enable = true;
settings = {
"org/gnome/desktop/input-sources" = {
sources = [
(mkTuple [
"xkb"
"fr+mac"
])
];
};
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
paperwm.extensionUuid
app-hider.extensionUuid
dash-to-dock.extensionUuid
];
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:maximize,minimize,close";
};
"org/gnome/shell/extensions/app-hider" = {
hidden-apps = [
"nvim.desktop"
"cups.desktop"
"xterm.desktop"
"nixos-manual.desktop"
"org.gnome.Loupe.desktop"
];
};
"org/gnome/desktop/interface" = {
icon-theme = "Papirus";
accent-color = "teal";
color-scheme = "prefer-dark";
};
"org/gnome/desktop/background" = {
picture-options = "zoom";
picture-uri = "file://" + ./walls.jpg;
picture-uri-dark = "file://" + ./walls.jpg;
};
"org/gnome/shell/extensions/dash-to-dock" = {
apply-custom-theme = false;
transparency-mode = "FIXED";
background-opacity = 0.45;
background-color = "rgb(0,0,0)";
custom-background-color = false;
custom-theme-shrink = false;
dash-max-icon-size = 35;
disable-overview-on-startup = true;
dock-fixed = true;
dock-position = "LEFT";
extend-height = true;
icon-size-fixed = true;
show-apps-at-top = false;
show-running = true;
show-favorites = true;
show-mounts = false;
show-trash = false;
show-windows-preview = false;
};
"org/gnome/shell/extensions/paperwm" = {
show-window-position-bar = false;
show-workspace-indicator = false;
};
"org/gnome/shell/extensions/paperwm/workspaces" = {
list = [
"personal"
"university"
];
};
"org/gnome/shell/extensions/paperwm/workspaces/personal" = {
name = "Personel";
index = 0;
};
"org/gnome/shell/extensions/paperwm/workspaces/university" = {
name = "Université";
index = 1;
};
};
};
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

+15 -4
View File
@@ -1,10 +1,9 @@
{ import-tree, ... }:
{ pkgs, import-tree, ... }:
{
home-manager.users.alistreaza = {
imports = [
(import-tree ../../../../modules/home/common)
(import-tree ../../../../modules/home/nixos)
(import-tree ../partials)
];
home = {
@@ -12,7 +11,9 @@
homeDirectory = "/home/alistreaza";
};
# Gnome
home.xdg.enable = true;
home.shells.gnome.enable = true;
# Shell apps
home.shell.nh.enable = true;
@@ -22,10 +23,20 @@
# Code editor
home.env.nix.enable = true;
home.ide.zed.enable = true;
# Terminal Apps
home.ghostty.enable = true;
# Firefox app
home.firefox.enable = true;
home.firefox.privacy = true;
home.packages = with pkgs; [
zed-editor
];
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "25.11";
home.stateVersion = "26.05";
};
}
+30 -17
View File
@@ -1,32 +1,45 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
config,
lib,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "uas" "sd_mod" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/da148e71-90a0-4307-b820-42474191a207";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/eb35b14e-3473-40f4-96ad-284204b9d615";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/8AF0-72B6";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/d892a0d1-4025-4391-95e0-949c627f4ce7"; }
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5D52-D5CA";
fsType = "vfat";
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+6 -8
View File
@@ -8,8 +8,7 @@
os.audio.pipewire.enable = true;
# Networks services
os.networks.dns.enable = true;
os.networks.manager.enable = true;
os.networking.enable = true;
# Printing and sharing
os.networks.samba.enable = true;
@@ -19,16 +18,15 @@
os.keyboard.apple.enable = true;
# Virtualisation Apps
os.virtualisation.cuda.enable = true;
os.virtualisation.cuda.enable = false;
os.virtualisation.podman.enable = true;
# Shells configurations
os.shells.pantheon.enable = true;
# Terminal
os.flatpak.enable = true;
programs.ssh.enableAskPassword = false; # No-window git push fix
# Shells configurations
os.shells.gnome.enable = true;
# System version
system.stateVersion = "25.11";
system.stateVersion = "26.05";
}
-7
View File
@@ -1,7 +0,0 @@
{ ... }:
{
services.flatpak.packages = [
"io.github.flattool.Warehouse"
];
}
+1 -4
View File
@@ -4,10 +4,7 @@
users.users = {
alistreaza = {
isNormalUser = true;
extraGroups = [
"wheel"
"podman"
];
extraGroups = [ "wheel" ];
};
};
}
-27
View File
@@ -1,27 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.home.env.jdk;
in
{
options.home.env.jdk = {
enable = mkEnableOption "System nh service";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
jdk25_headless
];
home.sessionVariables = {
JAVA_HOME = "${pkgs.jdk25_headless}";
M2_HOME = "${config.home.sessionVariables.XDG_DATA_HOME}/m2";
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.home.env.python;
in
{
options.home.env.python = {
enable = mkEnableOption "System nh service";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
uv
];
};
}
-27
View File
@@ -1,27 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.home.env.rust;
in
{
options.home.env.rust = {
enable = mkEnableOption "System nh service";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
rustup
];
home.sessionVariables = {
CARGO_HOME = "${config.home.sessionVariables.XDG_DATA_HOME}/cargo";
RUSTUP_HOME = "${config.home.sessionVariables.XDG_DATA_HOME}/rustup";
};
};
}
+105
View File
@@ -0,0 +1,105 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.firefox;
in
{
options.home.firefox = {
enable = mkEnableOption "Firefox service";
privacy = mkEnableOption "Firefox privacy service";
sanity = mkEnableOption "Sanitize Firefox on shutdown";
};
config = mkIf cfg.enable {
xdg.mimeApps.defaultApplications = {
"text/html" = [ "firefox.desktop" ];
"text/xml" = [ "firefox.desktop" ];
"x-scheme-handler/http" = [ "firefox.desktop" ];
"x-scheme-handler/https" = [ "firefox.desktop" ];
};
programs.firefox = {
enable = true;
languagePacks = [ "fr-FR" ];
policies = mkMerge [
{
DisablePocket = true;
ExtensionSettings = mkIf cfg.privacy {
"uBlock0@raymondhill.net" = {
default_area = "menupanel";
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
private_browsing = true;
};
};
}
(mkIf cfg.privacy {
DisableTelemetry = true;
DisableFirefoxStudies = true;
EnableTrackingProtection = true;
})
];
profiles.default = {
settings = mkMerge [
{
# Vertical tabs
"sidebar.revamp" = true;
"sidebar.verticalTabs" = true;
"sidebar.new-sidebar.has-used" = true;
"sidebar.main.tools" = "history,passwords";
"sidebar.backupState" = {
"panelOpen" = true;
"launcherExpanded" = false;
"launcherVisible" = true;
};
# No bookmarks
"browser.toolbars.bookmarks.visibility" = "never";
# New tab page
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false;
}
(mkIf cfg.privacy {
# Disable some telemetry
"app.shield.optoutstudies.enabled" = false;
"browser.discovery.enabled" = false;
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"browser.ping-centre.telemetry" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.sessions.current.clean" = true;
"devtools.onboarding.telemetry.logged" = false;
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.hybridContent.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.prompted" = 2;
"toolkit.telemetry.rejected" = true;
"toolkit.telemetry.reportingpolicy.firstRun" = false;
"toolkit.telemetry.server" = "";
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.unifiedIsOptIn" = false;
"toolkit.telemetry.updatePing.enabled" = false;
})
(mkIf cfg.sanity {
# Sanitize
"SanitizeOnShutdown" = {
"Locked" = false;
"Cache" = true;
"History" = true;
"Cookies" = true;
"Sessions" = true;
"FormData" = true;
"SiteSettings" = true;
};
})
];
};
};
};
}
+25
View File
@@ -0,0 +1,25 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.ghostty;
in
{
options.home.ghostty = {
enable = mkEnableOption "Ghostty service";
};
config = mkIf cfg.enable {
programs.ghostty = {
enable = true;
enableZshIntegration = true;
settings = {
background-opacity = 0.9;
keybind = [
"performable:ctrl+c=copy_to_clipboard"
"performable:ctrl+v=paste_from_clipboard"
];
};
};
};
}
+142
View File
@@ -0,0 +1,142 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.home.shells.gnome;
in
{
options.home.shells.gnome = {
enable = mkEnableOption "Gnome service";
extensions = {
paperwm = mkOption {
type = types.bool;
default = true;
description = "Enable the PaperWM extension.";
};
app-hider = mkOption {
type = types.bool;
default = true;
description = "Enable the App Hider extension.";
};
dash-to-panel = mkOption {
type = types.bool;
default = true;
description = "Enable the Dash to Panel extension.";
};
};
};
config = mkIf cfg.enable {
home.packages = mkMerge [
[
pkgs.numix-icon-theme
pkgs.numix-icon-theme-square
]
(mkIf cfg.extensions.paperwm [ pkgs.gnomeExtensions.paperwm ])
(mkIf cfg.extensions.app-hider [ pkgs.gnomeExtensions.app-hider ])
(mkIf cfg.extensions.dash-to-panel [ pkgs.gnomeExtensions.dash-to-panel ])
];
dconf = {
enable = true;
settings = mkMerge [
{
# We define the input sources to use the French layout with Mac keyboard variant.
"org/gnome/desktop/input-sources" = {
sources = [
(lib.hm.gvariant.mkTuple [
"xkb"
"fr+mac"
])
];
};
# We define the interface settings to use a teal accent color and prefer dark color scheme.
"org/gnome/desktop/interface" = {
accent-color = "teal";
icon-theme = "Numix-Square";
color-scheme = "prefer-dark";
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:maximize,minimize,close";
};
# We define the shell settings to enable user extensions
# and enable the PaperWM, App Hider, and Dash to Panel extensions if they are enabled in the configuration.
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions =
with pkgs.gnomeExtensions;
mkMerge [
(mkIf cfg.extensions.paperwm [ paperwm.extensionUuid ])
(mkIf cfg.extensions.app-hider [ app-hider.extensionUuid ])
(mkIf cfg.extensions.dash-to-panel [ dash-to-panel.extensionUuid ])
];
};
}
(mkIf cfg.extensions.app-hider {
"org/gnome/shell/extensions/app-hider" = {
hidden-apps = [
"nvim.desktop"
"cups.desktop"
"xterm.desktop"
"nixos-manual.desktop"
];
};
})
(mkIf cfg.extensions.dash-to-panel {
"org/gnome/shell/extensions/dash-to-panel" = {
prefs-opened = false;
isolate-monitors = true;
isolate-workspaces = true;
appicon-margin = 2;
appicon-padding = 12;
trans-panel-opacity = 0.75;
trans-use-border = true;
trans-use-custom-opacity = true;
dot-color-dominant = true;
dot-color-override = false;
dot-color-unfocused-different = false;
dot-position = "BOTTOM";
dot-style-focused = "METRO";
dot-style-unfocused = "SQUARES";
panel-top-bottom-margins = 0;
panel-top-bottom-padding = 0;
focus-highlight = false;
focus-highlight-dominant = true;
highlight-appicon-hover = true;
hide-overview-on-startup = true;
};
})
(mkIf cfg.extensions.paperwm {
"org/gnome/shell/extensions/paperwm" = {
show-window-position-bar = false;
show-workspace-indicator = false;
};
"org/gnome/shell/extensions/paperwm/workspaces" = {
list = [
"personal"
"university"
];
};
"org/gnome/shell/extensions/paperwm/workspaces/personal" = {
name = "Personel";
index = 0;
};
"org/gnome/shell/extensions/paperwm/workspaces/university" = {
name = "Université";
index = 1;
};
})
];
};
};
}
+21
View File
@@ -0,0 +1,21 @@
{ lib, config, ... }:
with lib;
let
cfg = config.os.boot.limine;
in
{
options.os.boot.limine = {
enable = mkEnableOption "Boot Limine service";
};
config = mkIf cfg.enable {
boot.loader = {
limine = {
enable = true;
maxGenerations = 10;
};
efi.canTouchEfiVariables = true;
};
};
}
+6 -2
View File
@@ -17,7 +17,11 @@ in
"boot.shell_on_fail"
];
boot.plymouth.enable = true;
boot.plymouth = {
enable = true;
extraConfig = ''
DeviceScale=2
'';
};
};
}
-17
View File
@@ -1,5 +1,4 @@
{
pkgs,
lib,
config,
...
@@ -15,22 +14,6 @@ in
config = mkIf cfg.enable {
hardware.nvidia-container-toolkit.enable = true;
environment.systemPackages = with pkgs.cudaPackages; [
cudatoolkit
cudnn
libcublas
libcufile
libcusparse
nccl
];
environment.variables = {
CUDA_PATH = "${pkgs.cudatoolkit}";
LD_LIBRARY_PATH = "${pkgs.linuxPackages.nvidia_x11}/lib:$LD_LIBRARY_PATH";
EXTRA_LDFLAGS = "-L/lib -L${pkgs.linuxPackages.nvidia_x11}/lib";
EXTRA_CCFLAGS = "-I/usr/include";
};
};
}
-15
View File
@@ -1,15 +0,0 @@
{ lib, config, ... }:
with lib;
let
cfg = config.os.networks.manager;
in
{
options.os.networks.manager = {
enable = mkEnableOption "System networks manager service";
};
config = mkIf cfg.enable {
networking.networkmanager.enable = true;
};
}
@@ -1,11 +1,11 @@
{ lib, config, ... }:
with lib;
let
cfg = config.os.networks.dns;
cfg = config.os.networking;
in
{
options.os.networks.dns = {
enable = mkEnableOption "System dns service";
options.os.networking = {
enable = mkEnableOption "System networks manager service";
};
config = mkIf cfg.enable {
@@ -1,4 +1,5 @@
{
pkgs,
lib,
config,
...
@@ -6,6 +7,8 @@
with lib;
let
cfg = config.os.networks.printing;
all = builtins.attrNames config.users.users;
users = builtins.filter (user: config.users.users.${user}.isNormalUser == true) all;
in
{
options.os.networks.printing = {
@@ -15,7 +18,17 @@ in
services.printing = {
enable = true;
startWhenNeeded = true;
drivers = with pkgs; [ hplip ];
};
hardware.sane = {
enable = true;
extraBackends = with pkgs; [ sane-airscan ];
};
users.groups.lp.members = users;
users.groups.scanner.members = users;
};
}
+10 -13
View File
@@ -6,10 +6,10 @@
}:
with lib;
let
cfg = config.os.gnome.shell;
cfg = config.os.shells.gnome;
in
{
options.os.gnome.shell = {
options.os.shells.gnome = {
enable = mkEnableOption "System gnome shell service";
};
config = mkIf cfg.enable {
@@ -21,6 +21,8 @@ in
services.gnome.core-apps.enable = false;
services.gnome.core-developer-tools.enable = false;
services.gvfs.enable = true; # SMB, FTP, ... access
environment = {
gnome.excludePackages = with pkgs; [
@@ -28,17 +30,12 @@ in
gnome-user-docs
];
systemPackages = with pkgs; [
# Gnome terminal
ghostty
# Gnome Extensions
gnomeExtensions.paperwm
gnomeExtensions.app-hider
gnomeExtensions.dash-to-dock
];
systemPackages =
with pkgs;
[
papers
nautilus
];
};
};
+31
View File
@@ -0,0 +1,31 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.os.shells.pantheon;
in
{
options.os.shells.pantheon = {
enable = mkEnableOption "System gnome shell service";
};
config = mkIf cfg.enable {
services.desktopManager.pantheon.enable = true;
environment = {
pantheon.excludePackages = with pkgs; [
elementary-calendar
elementary-camera
elementary-mail
elementary-maps
elementary-photos
epiphany
];
};
};
}
-44
View File
@@ -1,44 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.os.shells.gnome;
in
{
options.os.shells.gnome = {
enable = mkEnableOption "System gnome shell service";
};
config = mkIf cfg.enable {
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
services.gnome.games.enable = false;
services.gnome.core-apps.enable = false;
services.gnome.core-developer-tools.enable = false;
services.gvfs.enable = true; # SMB, FTP, ... access
environment = {
gnome.excludePackages = with pkgs; [
gnome-tour
gnome-user-docs
];
systemPackages =
with pkgs;
[ nautilus ]
++ [ ptyxis ]
++ [
loupe
papers
];
};
};
}
@@ -7,6 +7,8 @@
with lib;
let
cfg = config.os.virtualisation.podman;
all = builtins.attrNames config.users.users;
users = builtins.filter (user: config.users.users.${user}.isNormalUser == true) all;
in
{
options.os.virtualisation.podman = {
@@ -30,5 +32,7 @@ in
];
};
users.groups.podman.members = users;
};
}
-1
View File
@@ -19,7 +19,6 @@
) (nixpkgs.lib.toList pkg.meta.license)
|| builtins.elem (nixpkgs.lib.getName pkg) [
"nvidia-x11"
"obsidian"
];
nixpkgs.overlays = [