Compare commits

...
15 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
42 changed files with 430 additions and 403 deletions
Generated
+37 -37
View File
@@ -3,16 +3,16 @@
"brew-src": { "brew-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1774235677, "lastModified": 1778427648,
"narHash": "sha256-0ryNYmzDAeRlrzPTAgmzGH/Cgc8iv/LBN6jWGUANvIk=", "narHash": "sha256-pt9KaDGsMyYWB9JeHs4XGHs870f1lOZe3vx9LpVIhUE=",
"owner": "Homebrew", "owner": "Homebrew",
"repo": "brew", "repo": "brew",
"rev": "894a3d23ac0c8aaf561b9874b528b9cb2e839201", "rev": "6f293daa9f9f5832e13b497976335e90509886d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "Homebrew", "owner": "Homebrew",
"ref": "5.1.1", "ref": "5.1.11",
"repo": "brew", "repo": "brew",
"type": "github" "type": "github"
} }
@@ -22,11 +22,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1775087534, "lastModified": 1778716662,
"narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -42,16 +42,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1775077333, "lastModified": 1783740085,
"narHash": "sha256-OXcxobt7lBkh1B8AjwreU+24myhtKpqeLfAeIyNLFY8=", "narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "49ca96b2714c5931e17401eff87f3edd42d2b0f2", "rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-25.11", "ref": "release-26.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@@ -59,11 +59,11 @@
"homebrew-cask": { "homebrew-cask": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1775399032, "lastModified": 1780406524,
"narHash": "sha256-+XlQ98j/SiUU4mt60Sdr80r+VaSFbytWCQbDKVpbJlM=", "narHash": "sha256-iK9no4rW7MZMBdfjrrgbU+rzCgl5n2VoHJj/bb1GVho=",
"owner": "homebrew", "owner": "homebrew",
"repo": "homebrew-cask", "repo": "homebrew-cask",
"rev": "6224c3ef30ddffb5a08f9e6183ed0c71a0cb626b", "rev": "f881b5768475bc60da14e7ca20c56f3509b80f1b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -75,11 +75,11 @@
"homebrew-core": { "homebrew-core": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1775403617, "lastModified": 1780407978,
"narHash": "sha256-HWlnXvX/P5ynsdPHiuDCoCxGp8ZOQYXoKLVioZBfJtE=", "narHash": "sha256-hgOsqpzD6qsKlLOAxKyNCbCPxVuYLsmWcfxOxbxTwYA=",
"owner": "homebrew", "owner": "homebrew",
"repo": "homebrew-core", "repo": "homebrew-core",
"rev": "322375479e22d7f97efe4f0598ad20bf33553dc2", "rev": "132ca82e883600ec9e1f9b9d73f87db040c07605",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -90,11 +90,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1773693634, "lastModified": 1778781969,
"narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=", "narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1", "rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -110,16 +110,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772129556, "lastModified": 1783744694,
"narHash": "sha256-Utk0zd8STPsUJPyjabhzPc5BpPodLTXrwkpXBHYnpeg=", "narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
"owner": "nix-darwin", "owner": "nix-darwin",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "ebec37af18215214173c98cf6356d0aca24a2585", "rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-darwin", "owner": "nix-darwin",
"ref": "nix-darwin-25.11", "ref": "nix-darwin-26.05",
"repo": "nix-darwin", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
@@ -145,11 +145,11 @@
"brew-src": "brew-src" "brew-src": "brew-src"
}, },
"locked": { "locked": {
"lastModified": 1774720267, "lastModified": 1778851564,
"narHash": "sha256-YYftFe8jyfpQI649yfr0E+dqEXE2jznZNcYvy/lKV1U=", "narHash": "sha256-p8wzcnpB2Iys+QzAKM9/Eyw/pUyqCO3sw/NCnDH4dTE=",
"owner": "zhaofengli", "owner": "zhaofengli",
"repo": "nix-homebrew", "repo": "nix-homebrew",
"rev": "a7760a3a83f7609f742861afb5732210fdc437ed", "rev": "b3a87b4793205cc111f3c61e25e018ffac3b8039",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -160,27 +160,27 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1775002709, "lastModified": 1783703440,
"narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=", "narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e", "rev": "8f0500b9660505dc3cb647775fe9a978a74b5283",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1774748309, "lastModified": 1777168982,
"narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "333c4e0545a6da976206c74db8773a1645b5870a", "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -191,11 +191,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1775036866, "lastModified": 1780243769,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", "narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", "rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
+6 -5
View File
@@ -6,15 +6,15 @@
flake-parts.url = "github:hercules-ci/flake-parts"; flake-parts.url = "github:hercules-ci/flake-parts";
# Nixpkgs # 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"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Nix Darwin # 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"; nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
# Home manager # 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"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
# Nix Flatpak # Nix Flatpak
@@ -55,10 +55,10 @@
nixos = nixpkgs.lib.nixosSystem { nixos = nixpkgs.lib.nixosSystem {
specialArgs = { specialArgs = {
self = self; self = self;
nixpkgs = nixpkgs;
nixpkgs-unstable = nixpkgs-unstable;
import-tree = import-tree; import-tree = import-tree;
home-manager = home-manager; home-manager = home-manager;
nixpkgs = nixpkgs;
nixpkgs-unstable = nixpkgs-unstable;
}; };
modules = [ modules = [
(import-tree ./overlays/nixos) (import-tree ./overlays/nixos)
@@ -69,6 +69,7 @@
] ]
++ [ ++ [
(import-tree ./overlays/nixos) (import-tree ./overlays/nixos)
nix-flatpak.nixosModules.nix-flatpak nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
+1
View File
@@ -4,4 +4,5 @@
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.overwriteBackup = true; home-manager.overwriteBackup = true;
home-manager.backupFileExtension = "bak"; 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 # Nix & languages env deps
home.env.nix.enable = true; home.env.nix.enable = true;
home.env.jdk.enable = true;
home.env.rust.enable = true;
home.env.python.enable = true;
# No Home Application Folders # No Home Application Folders
targets.darwin.linkApps.enable = false; targets.darwin.linkApps.enable = false;
targets.darwin.copyApps.enable = false; targets.darwin.copyApps.enable = false;
# Home packages
home.packages = [ ];
# The state version is required and should stay at the version you # The state version is required and should stay at the version you
# originally installed. # originally installed.
home.stateVersion = "25.11"; home.stateVersion = "26.05";
}; };
} }
+2 -1
View File
@@ -1,7 +1,6 @@
{ ... }: { ... }:
{ {
system.primaryUser = "alistreaza"; system.primaryUser = "alistreaza";
nixpkgs.hostPlatform = "aarch64-darwin";
# Homebrew apps # Homebrew apps
os.homebrew.ghostty.enable = true; os.homebrew.ghostty.enable = true;
@@ -12,4 +11,6 @@
os.homebrew.obsidian.enable = true; os.homebrew.obsidian.enable = true;
os.homebrew.microsoft.enable = true; os.homebrew.microsoft.enable = true;
os.homebrew.keka.enable = true; os.homebrew.keka.enable = true;
nixpkgs.hostPlatform = "aarch64-darwin";
} }
-1
View File
@@ -56,7 +56,6 @@
StageManagerHideWidgets = true; StageManagerHideWidgets = true;
# Desktop # Desktop
StandardHideWidgets = true; StandardHideWidgets = true;
StandardHideDesktopIcons = true;
EnableStandardClickToShowDesktop = false; EnableStandardClickToShowDesktop = false;
}; };
menuExtraClock.IsAnalog = false; menuExtraClock.IsAnalog = false;
-68
View File
@@ -1,68 +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"
];
};
};
}
-119
View File
@@ -1,119 +0,0 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant;
{
home.packages = with pkgs; [
papirus-icon-theme
gnomeExtensions.paperwm
gnomeExtensions.app-hider
gnomeExtensions.dash-to-panel
];
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-panel.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-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;
};
"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 -3
View File
@@ -1,10 +1,9 @@
{ import-tree, ... }: { pkgs, import-tree, ... }:
{ {
home-manager.users.alistreaza = { home-manager.users.alistreaza = {
imports = [ imports = [
(import-tree ../../../../modules/home/common) (import-tree ../../../../modules/home/common)
(import-tree ../../../../modules/home/nixos) (import-tree ../../../../modules/home/nixos)
(import-tree ../partials)
]; ];
home = { home = {
@@ -12,7 +11,9 @@
homeDirectory = "/home/alistreaza"; homeDirectory = "/home/alistreaza";
}; };
# Gnome
home.xdg.enable = true; home.xdg.enable = true;
home.shells.gnome.enable = true;
# Shell apps # Shell apps
home.shell.nh.enable = true; home.shell.nh.enable = true;
@@ -23,8 +24,19 @@
# Code editor # Code editor
home.env.nix.enable = true; home.env.nix.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 # The state version is required and should stay at the version you
# originally installed. # 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 # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: {
config,
lib,
modulesPath,
...
}:
{ {
imports = imports = [
[ (modulesPath + "/installer/scan/not-detected.nix") (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.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/6002ba98-6ce8-49d5-a501-9c2500343b2a"; device = "/dev/disk/by-uuid/eb35b14e-3473-40f4-96ad-284204b9d615";
fsType = "ext4"; fsType = "btrfs";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/E9B0-43BF"; device = "/dev/disk/by-uuid/5D52-D5CA";
fsType = "vfat"; fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ]; options = [
}; "fmask=0022"
"dmask=0022"
swapDevices =
[ { device = "/dev/disk/by-uuid/b442da0b-8a3e-4f05-b13f-aec8a89917be"; }
]; ];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+3 -6
View File
@@ -17,19 +17,16 @@
# System configurations # System configurations
os.keyboard.apple.enable = true; os.keyboard.apple.enable = true;
# Flatpak configuration
os.flatpak.enable = true;
# Virtualisation Apps # Virtualisation Apps
os.virtualisation.cuda.enable = true; os.virtualisation.cuda.enable = false;
os.virtualisation.podman.enable = true; os.virtualisation.podman.enable = true;
# Shells configurations # Shells configurations
os.shells.gnome.enable = true; os.shells.pantheon.enable = true;
# Terminal # Terminal
programs.ssh.enableAskPassword = false; # No-window git push fix programs.ssh.enableAskPassword = false; # No-window git push fix
# System version # System version
system.stateVersion = "25.11"; system.stateVersion = "26.05";
} }
-10
View File
@@ -1,10 +0,0 @@
{ pkgs, ... }:
{
services.flatpak.packages = [
"io.github.flattool.Warehouse"
];
environment.systemPackages = with pkgs; [
zed-editor
];
}
-6
View File
@@ -1,6 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
pods
];
}
-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.shell_on_fail"
]; ];
boot.plymouth.enable = true; boot.plymouth = {
enable = true;
extraConfig = ''
DeviceScale=2
'';
};
}; };
} }
-9
View File
@@ -1,5 +1,4 @@
{ {
pkgs,
lib, lib,
config, config,
... ...
@@ -15,14 +14,6 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
hardware.nvidia-container-toolkit.enable = true; hardware.nvidia-container-toolkit.enable = true;
environment.systemPackages = with pkgs.cudaPackages; [
cudatoolkit
cudnn
libcublas
libcufile
libcusparse
nccl
];
}; };
} }
@@ -17,7 +17,5 @@ in
openFirewall = true; openFirewall = true;
}; };
networking.networkmanager.enable = true;
}; };
} }
@@ -32,11 +32,9 @@ in
systemPackages = systemPackages =
with pkgs; with pkgs;
[ nautilus ] [
++ [
loupe
papers papers
simple-scan 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
];
};
};
}