Compare commits
33
Commits
a4c43c07be
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
862d9291be | ||
|
|
821c51e0fa | ||
|
|
0e9d3d8dd8 | ||
|
|
95dfb78b48 | ||
|
|
3af3fcb9d3 | ||
|
|
8f0df0f827 | ||
|
|
bbbf69e9e9 | ||
|
|
dee75a51e2 | ||
|
|
e091288eb7 | ||
|
|
4e922387bf | ||
|
|
ddfa93ddda | ||
|
|
db4c0e1320 | ||
|
|
5fbdbe4d3e | ||
|
|
1f6e685639 | ||
|
|
2802cfe28d | ||
|
|
4ed0b94da5 | ||
|
|
1df132a22d | ||
|
|
d94d17b139 | ||
|
|
90bc1eb63d | ||
|
|
e656247a48 | ||
|
|
1ada1996fb | ||
|
|
a4dd426845 | ||
|
|
e4e927daa5 | ||
|
|
0e07e19598 | ||
|
|
a1e62c2b0b | ||
|
|
9ec005ee04 | ||
|
|
17081e74cb | ||
|
|
1064bda3dd | ||
|
|
d1833db57c | ||
|
|
0b3cdf9ea8 | ||
|
|
751f7e05c9 | ||
|
|
6bd07b8f7e | ||
|
|
d31e21ac67 |
Generated
+54
-37
@@ -3,16 +3,16 @@
|
|||||||
"brew-src": {
|
"brew-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769363988,
|
"lastModified": 1778427648,
|
||||||
"narHash": "sha256-BiGPeulrDVetXP+tjxhMcGLUROZAtZIhU5m4MqawCfM=",
|
"narHash": "sha256-pt9KaDGsMyYWB9JeHs4XGHs870f1lOZe3vx9LpVIhUE=",
|
||||||
"owner": "Homebrew",
|
"owner": "Homebrew",
|
||||||
"repo": "brew",
|
"repo": "brew",
|
||||||
"rev": "d01011cac6d72032c75fd2cd9489909e95d9faf2",
|
"rev": "6f293daa9f9f5832e13b497976335e90509886d7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Homebrew",
|
"owner": "Homebrew",
|
||||||
"ref": "5.0.12",
|
"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": 1768135262,
|
"lastModified": 1778716662,
|
||||||
"narHash": "sha256-PVvu7OqHBGWN16zSi6tEmPwwHQ4rLPU9Plvs8/1TUBY=",
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "80daad04eddbbf5a4d883996a73f3f542fa437ac",
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -42,16 +42,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1768949235,
|
"lastModified": 1783740085,
|
||||||
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
|
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
|
"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": 1770811300,
|
"lastModified": 1780406524,
|
||||||
"narHash": "sha256-sSxLj4so0NJYjin13DJqEnZbKyYF5XYblnjDiv1eyfc=",
|
"narHash": "sha256-iK9no4rW7MZMBdfjrrgbU+rzCgl5n2VoHJj/bb1GVho=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-cask",
|
"repo": "homebrew-cask",
|
||||||
"rev": "29406a41146145e7e32c4a5ff4c6c1471c2eda56",
|
"rev": "f881b5768475bc60da14e7ca20c56f3509b80f1b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -75,11 +75,11 @@
|
|||||||
"homebrew-core": {
|
"homebrew-core": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770811629,
|
"lastModified": 1780407978,
|
||||||
"narHash": "sha256-qzjYPCYuRo+dbVJArHRbC030OwO5iilVlCG2A02CtrA=",
|
"narHash": "sha256-hgOsqpzD6qsKlLOAxKyNCbCPxVuYLsmWcfxOxbxTwYA=",
|
||||||
"owner": "homebrew",
|
"owner": "homebrew",
|
||||||
"repo": "homebrew-core",
|
"repo": "homebrew-core",
|
||||||
"rev": "779ff21375317500a9b0089e2fcbb1802abae658",
|
"rev": "132ca82e883600ec9e1f9b9d73f87db040c07605",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -90,11 +90,11 @@
|
|||||||
},
|
},
|
||||||
"import-tree": {
|
"import-tree": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763762820,
|
"lastModified": 1778781969,
|
||||||
"narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=",
|
"narHash": "sha256-Jjuz5CmSkur8KvLDoGa+vylEp+RkQtv4mt/qcMznpH0=",
|
||||||
"owner": "vic",
|
"owner": "vic",
|
||||||
"repo": "import-tree",
|
"repo": "import-tree",
|
||||||
"rev": "3c23749d8013ec6daa1d7255057590e9ca726646",
|
"rev": "d321337efd0f23a9eb14a42adb7b2c29313ab274",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -110,30 +110,46 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767634391,
|
"lastModified": 1783744694,
|
||||||
"narHash": "sha256-owcSz2ICqTSvhBbhPP+1eWzi88e54rRZtfCNE5E/wwg=",
|
"narHash": "sha256-2cp6N3rrwnGYLTx9l6N+NI+kwrCWxvJUbj5WJhvB29A=",
|
||||||
"owner": "nix-darwin",
|
"owner": "nix-darwin",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "08585aacc3d6d6c280a02da195fdbd4b9cf083c2",
|
"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"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"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": {
|
"nix-homebrew": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"brew-src": "brew-src"
|
"brew-src": "brew-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769437432,
|
"lastModified": 1778851564,
|
||||||
"narHash": "sha256-8d7KnCpT2LweRvSzZYEGd9IM3eFX+A78opcnDM0+ndk=",
|
"narHash": "sha256-p8wzcnpB2Iys+QzAKM9/Eyw/pUyqCO3sw/NCnDH4dTE=",
|
||||||
"owner": "zhaofengli",
|
"owner": "zhaofengli",
|
||||||
"repo": "nix-homebrew",
|
"repo": "nix-homebrew",
|
||||||
"rev": "a5409abd0d5013d79775d3419bcac10eacb9d8c5",
|
"rev": "b3a87b4793205cc111f3c61e25e018ffac3b8039",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -144,27 +160,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769089682,
|
"lastModified": 1783703440,
|
||||||
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
|
"narHash": "sha256-O3/YajjWo001VUIgD8BwaRdSNLUFe7nZ1qV5TwhRBcw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
|
"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": 1765674936,
|
"lastModified": 1777168982,
|
||||||
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
|
"narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
|
"rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -175,11 +191,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1769170682,
|
"lastModified": 1780243769,
|
||||||
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
|
"narHash": "sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
|
"rev": "331800de5053fcebacf6813adb5db9c9dca22a0c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -197,6 +213,7 @@
|
|||||||
"homebrew-core": "homebrew-core",
|
"homebrew-core": "homebrew-core",
|
||||||
"import-tree": "import-tree",
|
"import-tree": "import-tree",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nix-homebrew": "nix-homebrew",
|
"nix-homebrew": "nix-homebrew",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
|
|||||||
@@ -6,17 +6,20 @@
|
|||||||
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.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||||
|
|
||||||
# Nix Homebrew
|
# Nix Homebrew
|
||||||
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
nix-homebrew.url = "github:zhaofengli/nix-homebrew";
|
||||||
homebrew-core.url = "github:homebrew/homebrew-core";
|
homebrew-core.url = "github:homebrew/homebrew-core";
|
||||||
@@ -32,6 +35,7 @@
|
|||||||
nix-darwin,
|
nix-darwin,
|
||||||
flake-parts,
|
flake-parts,
|
||||||
import-tree,
|
import-tree,
|
||||||
|
nix-flatpak,
|
||||||
home-manager,
|
home-manager,
|
||||||
nix-homebrew,
|
nix-homebrew,
|
||||||
homebrew-core,
|
homebrew-core,
|
||||||
@@ -51,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)
|
||||||
@@ -65,6 +69,8 @@
|
|||||||
]
|
]
|
||||||
++ [
|
++ [
|
||||||
(import-tree ./overlays/nixos)
|
(import-tree ./overlays/nixos)
|
||||||
|
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|
||||||
(import-tree ./hosts/common)
|
(import-tree ./hosts/common)
|
||||||
@@ -93,7 +99,7 @@
|
|||||||
|
|
||||||
home-manager.darwinModules.home-manager
|
home-manager.darwinModules.home-manager
|
||||||
(import-tree ./hosts/common)
|
(import-tree ./hosts/common)
|
||||||
(import-tree ./hosts/darwin/home)
|
(import-tree ./hosts/darwin/home/users)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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 = [ ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home.file = {
|
||||||
|
".config/ghostty/" = {
|
||||||
|
source = ./ghostty;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,9 +1,11 @@
|
|||||||
{ import-tree, ... }:
|
{ 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/darwin)
|
(import-tree ../../../../modules/home/darwin)
|
||||||
|
(import-tree ../partials)
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
@@ -17,12 +19,6 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/ghostty/" = {
|
|
||||||
source = ./config/ghostty;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Shell apps
|
# Shell apps
|
||||||
home.shell.nh.enable = true;
|
home.shell.nh.enable = true;
|
||||||
home.shell.zsh.enable = true;
|
home.shell.zsh.enable = true;
|
||||||
@@ -31,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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -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,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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|||||||
@@ -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" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB |
@@ -1,117 +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:maximize,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://" + ./WhiteHair.jpg;
|
|
||||||
picture-uri-dark = "file://" + ./WhiteHair.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 |
@@ -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" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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,6 +11,10 @@
|
|||||||
homeDirectory = "/home/alistreaza";
|
homeDirectory = "/home/alistreaza";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Gnome
|
||||||
|
home.xdg.enable = true;
|
||||||
|
home.shells.gnome.enable = true;
|
||||||
|
|
||||||
# Shell apps
|
# Shell apps
|
||||||
home.shell.nh.enable = true;
|
home.shell.nh.enable = true;
|
||||||
home.shell.zsh.enable = true;
|
home.shell.zsh.enable = true;
|
||||||
@@ -20,13 +23,20 @@
|
|||||||
|
|
||||||
# Code editor
|
# Code editor
|
||||||
home.env.nix.enable = true;
|
home.env.nix.enable = true;
|
||||||
home.ide.zed.enable = true;
|
|
||||||
|
|
||||||
# Markdown Editor
|
# Terminal Apps
|
||||||
home.md.obsidian.enable = true;
|
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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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/5a30ecb8-36f4-4cc3-aa59-a7d93a57fef7";
|
device = "/dev/disk/by-uuid/eb35b14e-3473-40f4-96ad-284204b9d615";
|
||||||
fsType = "ext4";
|
fsType = "btrfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/D3A5-C679";
|
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/ad944d25-c53a-4cef-b336-a89cf3110b8c"; }
|
|
||||||
];
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
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;
|
||||||
|
|||||||
@@ -8,27 +8,25 @@
|
|||||||
os.audio.pipewire.enable = true;
|
os.audio.pipewire.enable = true;
|
||||||
|
|
||||||
# Networks services
|
# Networks services
|
||||||
os.networks.dns.enable = true;
|
os.networking.enable = true;
|
||||||
os.networks.manager.enable = true;
|
|
||||||
|
|
||||||
# Printing and sharing
|
# Printing and sharing
|
||||||
os.networks.printing.enable = true;
|
|
||||||
os.networks.samba.enable = true;
|
os.networks.samba.enable = true;
|
||||||
|
os.networks.printing.enable = true;
|
||||||
|
|
||||||
# System configurations
|
# System configurations
|
||||||
os.keyboard.apple.enable = true;
|
os.keyboard.apple.enable = true;
|
||||||
|
|
||||||
# Gnome configurations
|
|
||||||
os.gnome.shell.enable = true;
|
|
||||||
os.gnome.apps.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;
|
||||||
|
|
||||||
# Ssh
|
# Shells configurations
|
||||||
|
os.shells.pantheon.enable = true;
|
||||||
|
|
||||||
|
# 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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,7 @@
|
|||||||
users.users = {
|
users.users = {
|
||||||
alistreaza = {
|
alistreaza = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [
|
extraGroups = [ "wheel" ];
|
||||||
"wheel"
|
|
||||||
"podman"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
{
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Vendored
-27
@@ -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";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Vendored
-22
@@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Vendored
-27
@@ -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";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,37 +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-system-monitor
|
|
||||||
]
|
|
||||||
++ [
|
|
||||||
# Gnome files explorer
|
|
||||||
nautilus
|
|
||||||
refine
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gvfs.enable = true; # SMB, FTP, ... access
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -17,7 +17,11 @@ in
|
|||||||
"boot.shell_on_fail"
|
"boot.shell_on_fail"
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.plymouth.enable = true;
|
boot.plymouth = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = ''
|
||||||
|
DeviceScale=2
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
pkgs,
|
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
@@ -15,22 +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
|
|
||||||
];
|
|
||||||
|
|
||||||
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";
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,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, ... }:
|
{ lib, config, ... }:
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.networks.dns;
|
cfg = config.os.networking;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.networks.dns = {
|
options.os.networking = {
|
||||||
enable = mkEnableOption "System dns service";
|
enable = mkEnableOption "System networks manager service";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
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;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.gnome.shell;
|
cfg = config.os.shells.gnome;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.gnome.shell = {
|
options.os.shells.gnome = {
|
||||||
enable = mkEnableOption "System gnome shell service";
|
enable = mkEnableOption "System gnome shell service";
|
||||||
};
|
};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
@@ -21,6 +21,8 @@ in
|
|||||||
services.gnome.core-apps.enable = false;
|
services.gnome.core-apps.enable = false;
|
||||||
services.gnome.core-developer-tools.enable = false;
|
services.gnome.core-developer-tools.enable = false;
|
||||||
|
|
||||||
|
services.gvfs.enable = true; # SMB, FTP, ... access
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|
||||||
gnome.excludePackages = with pkgs; [
|
gnome.excludePackages = with pkgs; [
|
||||||
@@ -28,21 +30,12 @@ in
|
|||||||
gnome-user-docs
|
gnome-user-docs
|
||||||
];
|
];
|
||||||
|
|
||||||
systemPackages = with pkgs; [
|
systemPackages =
|
||||||
|
with pkgs;
|
||||||
# Gnome terminal
|
[
|
||||||
ghostty
|
papers
|
||||||
|
nautilus
|
||||||
# Gnome icons
|
];
|
||||||
papirus-icon-theme
|
|
||||||
|
|
||||||
# Gnome Extensions
|
|
||||||
gnomeExtensions.vitals
|
|
||||||
gnomeExtensions.paperwm
|
|
||||||
gnomeExtensions.app-hider
|
|
||||||
gnomeExtensions.dash-to-panel
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
@@ -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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
+4
-1
@@ -7,6 +7,8 @@
|
|||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
cfg = config.os.virtualisation.podman;
|
cfg = config.os.virtualisation.podman;
|
||||||
|
all = builtins.attrNames config.users.users;
|
||||||
|
users = builtins.filter (user: config.users.users.${user}.isNormalUser == true) all;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.os.virtualisation.podman = {
|
options.os.virtualisation.podman = {
|
||||||
@@ -26,10 +28,11 @@ in
|
|||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
pods
|
|
||||||
podman-compose
|
podman-compose
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.groups.podman.members = users;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,6 @@
|
|||||||
) (nixpkgs.lib.toList pkg.meta.license)
|
) (nixpkgs.lib.toList pkg.meta.license)
|
||||||
|| builtins.elem (nixpkgs.lib.getName pkg) [
|
|| builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
"nvidia-x11"
|
"nvidia-x11"
|
||||||
"obsidian"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
|
|||||||
Reference in New Issue
Block a user