Compare commits

..
35 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
Administrateur d94d17b139 Change wallpapers 2026-04-09 09:21:17 +02:00
Administrateur 90bc1eb63d Lot of change on structs 2026-04-09 09:09:13 +02:00
Administrateur e656247a48 Change firefox state & switch from panel to dock 2026-04-06 22:48:40 +02:00
Administrateur 1ada1996fb Change icons pack remove useless flatpak apps and add default gnome app 2026-04-06 17:36:04 +02:00
Administrateur a4dd426845 Add flatpack apps 2026-04-06 14:07:52 +02:00
Administrateur e4e927daa5 Add new flatpak apps 2026-04-06 14:07:06 +02:00
Administrateur 0e07e19598 Change Wallpaper 2026-04-05 23:30:04 +02:00
Administrateur a1e62c2b0b Change icon themes 2026-04-05 23:11:14 +02:00
Administrateur 9ec005ee04 Fix on icon used 2026-04-05 19:51:35 +02:00
Administrateur 17081e74cb Mise à jour du lock 2026-04-05 18:12:38 +02:00
Administrateur 1064bda3dd Fix on os.nix 2026-04-05 16:46:29 +02:00
Administrateur d1833db57c Create flatpak.nix 2026-04-05 15:38:33 +02:00
Administrateur 0b3cdf9ea8 Add nix-flatpak system 2026-04-05 15:38:19 +02:00
Administrateur 751f7e05c9 Clean & debug files 2026-04-05 15:27:38 +02:00
Administrateur 6bd07b8f7e We add declarative flatpak file 2026-04-05 12:36:40 +02:00
Administrateur d31e21ac67 Correction des apps et suppression d'une gnome extension 2026-04-04 23:29:12 +02:00
Administrateur a4c43c07be Add maximixe button into header window 2026-04-04 23:10:52 +02:00
Administrateur 64ee515ac2 Fix on sleep with Nvidia cards and add new wallpaper 2026-04-04 23:10:07 +02:00
59 changed files with 677 additions and 594 deletions
Generated
+54 -37
View File
@@ -3,16 +3,16 @@
"brew-src": {
"flake": false,
"locked": {
"lastModified": 1769363988,
"narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=",
"lastModified": 1778427648,
"narHash": "sha256-pt9KaDGsMyYWB9JeHs4XGHs870f1lOZe3vx9LpVIhUE=",
"owner": "Homebrew",
"repo": "brew",
"rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2",
"rev": "6f293daa9f9f5832e13b497976335e90509886d7",
"type": "github"
},
"original": {
"owner": "Homebrew",
"ref": "5.0.12",
"ref": "5.1.11",
"repo": "brew",
"type": "github"
}
@@ -22,11 +22,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1768135262,
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
@@ -42,16 +42,16 @@
]
},
"locked": {
"lastModified": 1768949235,
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
"lastModified": 1783740085,
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
"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": 1770811300,
"narHash": "sha256-sSxLj4so0NJYjin13DJqEnZbKyYF5XYblnjDiv1eyfc=",
"lastModified": 1780406524,
"narHash": "sha256-iK9no4rW7MZMBdfjrrgbU+rzCgl5n2VoHJj/bb1GVho=",
"owner": "homebrew",
"repo": "homebrew-cask",
"rev": "29406a41146145e7e32c4a5ff4c6c1471c2eda56",
"rev": "f881b5768475bc60da14e7ca20c56f3509b80f1b",
"type": "github"
},
"original": {
@@ -75,11 +75,11 @@
"homebrew-core": {
"flake": false,
"locked": {
"lastModified": 1770811629,
"narHash": "sha256-qzjYPCYuRo+dbVJArHRbC030OwO5iilVlCG2A02CtrA=",
"lastModified": 1780407978,
"narHash": "sha256-hgOsqpzD6qsKlLOAxKyNCbCPxVuYLsmWcfxOxbxTwYA=",
"owner": "homebrew",
"repo": "homebrew-core",
"rev": "779ff21375317500a9b0089e2fcbb1802abae658",
"rev": "132ca82e883600ec9e1f9b9d73f87db040c07605",
"type": "github"
},
"original": {
@@ -90,11 +90,11 @@
},
"import-tree": {
"locked": {
"lastModified": 1763762820,
"narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=",
"lastModified": 1778781969,
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
"owner": "vic",
"repo": "import-tree",
"rev": "3c23749d8013ec6daa1d7255057590e9ca726646",
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
"type": "github"
},
"original": {
@@ -110,30 +110,46 @@
]
},
"locked": {
"lastModified": 1767634391,
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=",
"lastModified": 1783744694,
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
"owner": "nix-darwin",
"repo": "nix-darwin",
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2",
"rev": "c3e90c89649b07d1a96e4b9dd6cd0d6e44b91a74",
"type": "github"
},
"original": {
"owner": "nix-darwin",
"ref": "nix-darwin-25.11",
"ref": "nix-darwin-26.05",
"repo": "nix-darwin",
"type": "github"
}
},
"nix-flatpak": {
"locked": {
"lastModified": 1767983141,
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "latest",
"repo": "nix-flatpak",
"type": "github"
}
},
"nix-homebrew": {
"inputs": {
"brew-src": "brew-src"
},
"locked": {
"lastModified": 1769437432,
"narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=",
"lastModified": 1778851564,
"narHash": "sha256-p8wzcnpB2Iys+QzAKM9/Eyw/pUyqCO3sw/NCnDH4dTE=",
"owner": "zhaofengli",
"repo": "nix-homebrew",
"rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5",
"rev": "b3a87b4793205cc111f3c61e25e018ffac3b8039",
"type": "github"
},
"original": {
@@ -144,27 +160,27 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1769089682,
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
"lastModified": 1783703440,
"narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
"rev": "8f0500b9660505dc3cb647775fe9a978a74b5283",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"lastModified": 1777168982,
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
"type": "github"
},
"original": {
@@ -175,11 +191,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"lastModified": 1780243769,
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
"type": "github"
},
"original": {
@@ -197,6 +213,7 @@
"homebrew-core": "homebrew-core",
"import-tree": "import-tree",
"nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nix-homebrew": "nix-homebrew",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable"
+12 -6
View File
@@ -6,17 +6,20 @@
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
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
# Nix Homebrew
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
homebrew-core.url = "github:homebrew/homebrew-core";
@@ -32,6 +35,7 @@
nix-darwin,
flake-parts,
import-tree,
nix-flatpak,
home-manager,
nix-homebrew,
homebrew-core,
@@ -51,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)
@@ -65,6 +69,8 @@
]
++ [
(import-tree ./overlays/nixos)
nix-flatpak.nixosModules.nix-flatpak
home-manager.nixosModules.home-manager
(import-tree ./hosts/common)
@@ -93,7 +99,7 @@
home-manager.darwinModules.home-manager
(import-tree ./hosts/common)
(import-tree ./hosts/darwin/home)
(import-tree ./hosts/darwin/home/users)
];
};
};
+1
View File
@@ -4,4 +4,5 @@
home-manager.useUserPackages = true;
home-manager.overwriteBackup = true;
home-manager.backupFileExtension = "bak";
home-manager.sharedModules = [ ];
}
+8
View File
@@ -0,0 +1,8 @@
{ ... }:
{
home.file = {
".config/ghostty/" = {
source = ./ghostty;
};
};
}
@@ -1,9 +1,11 @@
{ import-tree, ... }:
{
home-manager.users.alistreaza = {
imports = [
(import-tree ../../../modules/home/common)
(import-tree ../../../modules/home/darwin)
(import-tree ../../../../modules/home/common)
(import-tree ../../../../modules/home/darwin)
(import-tree ../partials)
];
home = {
@@ -17,12 +19,6 @@
};
};
home.file = {
".config/ghostty/" = {
source = ./config/ghostty;
};
};
# Shell apps
home.shell.nh.enable = true;
home.shell.zsh.enable = true;
@@ -31,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,5 +0,0 @@
{ config, ... }:
{
homebrew.enable = true;
homebrew.taps = builtins.attrNames config.nix-homebrew.taps;
}
@@ -1,28 +0,0 @@
{
homebrew-core,
homebrew-cask,
...
}:
{
nix-homebrew = {
# User owning the Homebrew prefix
user = "alistreaza";
# Install Homebrew under the default prefix
enable = true;
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
enableRosetta = false;
# Optional: Declarative tap management
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
};
# Optional: Enable fully-declarative tap management
#
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
mutableTaps = false;
};
}
-1
View File
@@ -56,7 +56,6 @@
StageManagerHideWidgets = true;
# Desktop
StandardHideWidgets = true;
StandardHideDesktopIcons = true;
EnableStandardClickToShowDesktop = false;
};
menuExtraClock.IsAnalog = false;
-67
View File
@@ -1,67 +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.new-sidebar.has-used" = true;
"sidebar.verticalTabs" = true;
"sidebar.revamp" = true;
"sidebar.main.tools" = "history";
};
};
};
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"
];
};
};
}
-118
View File
@@ -1,118 +0,0 @@
{
lib,
pkgs,
...
}:
with lib.hm.gvariant;
{
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; [
vitals.extensionUuid
paperwm.extensionUuid
app-hider.extensionUuid
dash-to-panel.extensionUuid
];
};
"org/gnome/desktop/wm/preferences" = {
button-layout = "appmenu:minimize,close";
};
"org/gnome/shell/extensions/app-hider" = {
hidden-apps = [
"nvim.desktop"
"cups.desktop"
"xterm.desktop"
"nixos-manual.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://" + ./subtra.jpg;
picture-uri-dark = "file://" + ./subtra.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;
};
"org/gnome/shell/extensions/vitals" = {
show-gpu = true;
show-voltage = false;
position-in-panel = 1;
};
"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: 526 KiB

-22
View File
@@ -1,22 +0,0 @@
{ ... }:
{
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
desktopEntries = {
rust-rover = {
name = "RustRover";
comment = "Rust IDE from JetBrains";
genericName = "Rust IDE from JetBrains";
exec = "rust-rover";
terminal = false;
icon = "rustrover";
type = "Application";
categories = [ "Development" ];
};
};
};
}
+17 -6
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,6 +11,10 @@
homeDirectory = "/home/alistreaza";
};
# Gnome
home.xdg.enable = true;
home.shells.gnome.enable = true;
# Shell apps
home.shell.nh.enable = true;
home.shell.zsh.enable = true;
@@ -19,13 +22,21 @@
home.shell.neovim.enable = true;
# Code editor
home.ide.zed.enable = true;
home.env.nix.enable = true;
# Markdown Editor
home.md.obsidian.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";
};
}
+26 -13
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/5a30ecb8-36f4-4cc3-aa59-a7d93a57fef7";
fsType = "ext4";
fileSystems."/" = {
device = "/dev/disk/by-uuid/eb35b14e-3473-40f4-96ad-284204b9d615";
fsType = "btrfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D3A5-C679";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5D52-D5CA";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
options = [
"fmask=0022"
"dmask=0022"
];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/ad944d25-c53a-4cef-b336-a89cf3110b8c"; }
];
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+8 -10
View File
@@ -8,27 +8,25 @@
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.printing.enable = true;
os.networks.samba.enable = true;
os.networks.printing.enable = true;
# System configurations
os.keyboard.apple.enable = true;
# Gnome configurations
os.gnome.shell.enable = true;
os.gnome.apps.enable = true;
# Virtualisation Apps
os.virtualisation.cuda.enable = true;
os.virtualisation.cuda.enable = false;
os.virtualisation.podman.enable = true;
# Ssh
# Shells configurations
os.shells.pantheon.enable = true;
# Terminal
programs.ssh.enableAskPassword = false; # No-window git push fix
# System version
system.stateVersion = "25.11";
system.stateVersion = "26.05";
}
+1 -4
View File
@@ -4,10 +4,7 @@
users.users = {
alistreaza = {
isNormalUser = true;
extraGroups = [
"wheel"
"podman"
];
extraGroups = [ "wheel" ];
};
};
}
-7
View File
@@ -1,7 +0,0 @@
{ ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
};
}
-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"
];
};
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.md.obsidian;
in
{
options.home.md.obsidian = {
enable = mkEnableOption "Obsidian options";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
obsidian
];
};
}
+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;
};
})
];
};
};
}
+20
View File
@@ -0,0 +1,20 @@
{ lib, config, ... }:
with lib;
let
cfg = config.home.xdg;
in
{
options.home.xdg = {
enable = mkEnableOption "Xdg service";
};
config = mkIf cfg.enable {
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.home.ide.zed;
in
{
options.home.ide.zed = {
enable = mkEnableOption "Zen Editor options";
};
config = mkIf cfg.enable {
home.packages = with pkgs; [
zed-editor
];
};
}
+43
View File
@@ -0,0 +1,43 @@
{
lib,
config,
homebrew-core,
homebrew-cask,
...
}:
let
cfg = config.os.homebrew;
in
{
options.os.homebrew = {
enable = lib.mkEnableOption "Homebrew options";
};
config = lib.mkIf cfg.enable {
nix-homebrew = {
# User owning the Homebrew prefix
user = "alistreaza";
# Install Homebrew under the default prefix
enable = true;
# Apple Silicon Only: Also install Homebrew under the default Intel prefix for Rosetta 2
enableRosetta = false;
# Optional: Declarative tap management
taps = {
"homebrew/homebrew-core" = homebrew-core;
"homebrew/homebrew-cask" = homebrew-cask;
};
# Optional: Enable fully-declarative tap management
#
# With mutableTaps disabled, taps can no longer be added imperatively with `brew tap`.
mutableTaps = false;
};
homebrew.enable = true;
homebrew.taps = builtins.attrNames config.nix-homebrew.taps;
};
}
-35
View File
@@ -1,35 +0,0 @@
{
lib,
pkgs,
config,
...
}:
with lib;
let
cfg = config.os.gnome.apps;
in
{
options.os.gnome.apps = {
enable = mkEnableOption "System gnome apps service";
};
config = mkIf cfg.enable {
environment = {
systemPackages =
with pkgs;
[
# Gnome media apps
papers
celluloid
resources
]
++ [
# Gnome files explorer
nautilus
];
};
services.gvfs.enable = true; # SMB, FTP, ... access
};
}
+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
'';
};
};
}
+19
View File
@@ -0,0 +1,19 @@
{ lib, config, ... }:
with lib;
let
cfg = config.os.flatpak;
in
{
options.os.flatpak = {
enable = mkEnableOption "System pipewire service";
};
config = mkIf cfg.enable {
services.flatpak.enable = true;
services.flatpak.update.auto = {
enable = true;
onCalendar = "weekly"; # Default value
};
};
}
-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";
};
};
}
+18 -2
View File
@@ -1,4 +1,8 @@
{ lib, config, ... }:
{
lib,
config,
...
}:
with lib;
let
cfg = config.os.graphics.nvidia;
@@ -9,16 +13,28 @@ in
};
config = mkIf cfg.enable {
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
services.xserver.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.videoDrivers = [
"modesetting"
"nvidia"
];
hardware.graphics.enable = true;
hardware.nvidia = {
open = true;
nvidiaSettings = false;
modesetting.enable = true; # Wayland requirements
powerManagement.enable = true;
prime = {
intelBusId = "PCI:0@0:2:0";
nvidiaBusId = "PCI:1@0:0:0";
};
};
os.graphics.nvidia.systemd.enable = true;
};
}
+55
View File
@@ -0,0 +1,55 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.os.graphics.nvidia.systemd;
in
{
options.os.graphics.nvidia.systemd = {
enable = mkEnableOption "System nvidia service";
};
config = mkIf cfg.enable {
systemd = {
services.systemd-suspend.environment.SYSTEMD_SLEEP_FREEZE_USER_SESSIONS = "false"; # Uncertain if this is still required or not.
services."gnome-suspend" = {
description = "suspend gnome shell";
before = [
"systemd-suspend.service"
"systemd-hibernate.service"
"nvidia-suspend.service"
"nvidia-hibernate.service"
];
wantedBy = [
"systemd-suspend.service"
"systemd-hibernate.service"
];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.procps}/bin/pkill -f -STOP ${pkgs.gnome-shell}/bin/gnome-shell";
};
};
services."gnome-resume" = {
description = "resume gnome shell";
after = [
"systemd-suspend.service"
"systemd-hibernate.service"
"nvidia-resume.service"
];
wantedBy = [
"systemd-suspend.service"
"systemd-hibernate.service"
];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.procps}/bin/pkill -f -CONT ${pkgs.gnome-shell}/bin/gnome-shell";
};
};
};
};
}
-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;
};
}
-26
View File
@@ -1,26 +0,0 @@
{
pkgs,
lib,
config,
...
}:
with lib;
let
cfg = config.os.networks.printing;
in
{
options.os.networks.printing = {
enable = mkEnableOption "System printing service";
};
config = mkIf cfg.enable {
services.printing = {
enable = true;
drivers = with pkgs; [
cups-filters
cups-browsed
];
};
};
}
@@ -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 {
@@ -0,0 +1,34 @@
{
pkgs,
lib,
config,
...
}:
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 = {
enable = mkEnableOption "System printing service";
};
config = mkIf cfg.enable {
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;
};
}
@@ -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,20 +30,11 @@ in
gnome-user-docs
];
systemPackages = with pkgs; [
# Gnome terminal
ghostty
# Gnome icons
papirus-icon-theme
# Gnome Extensions
gnomeExtensions.vitals
gnomeExtensions.paperwm
gnomeExtensions.app-hider
gnomeExtensions.dash-to-panel
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
];
};
};
}
@@ -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 = {
@@ -26,10 +28,11 @@ in
environment = {
systemPackages = with pkgs; [
pods
podman-compose
];
};
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 = [