Compare commits
4 Commits
5e23488cae
...
ad8d7c8c09
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ad8d7c8c09 | ||
![]() |
c37238700d | ||
![]() |
330f5e2a50 | ||
![]() |
fbbe869550 |
93
flake.lock
generated
93
flake.lock
generated
@ -1,5 +1,39 @@
|
||||
{
|
||||
"nodes": {
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"glue": {
|
||||
"locked": {
|
||||
"path": "./glue",
|
||||
@ -31,6 +65,48 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-minecraft": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747526922,
|
||||
"narHash": "sha256-NmBP0W4RJ8NTkeaMKy/NNzMBIQDa8n161Igbu7zWM2E=",
|
||||
"owner": "Jan-Bulthuis",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "566b5218ff51d80da60873fe3b5930b8da12091c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Jan-Bulthuis",
|
||||
"repo": "nix-minecraft",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-modpack": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747559249,
|
||||
"narHash": "sha256-+ygKEGMVcXNklO4RDYSd5XzydDmQOZWcOcxYZf/PH1U=",
|
||||
"owner": "Jan-Bulthuis",
|
||||
"repo": "nix-modpack",
|
||||
"rev": "a093625c2847afc3ef257513161c7fe318c6be1c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Jan-Bulthuis",
|
||||
"repo": "nix-modpack",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1746576598,
|
||||
@ -51,8 +127,25 @@
|
||||
"inputs": {
|
||||
"glue": "glue",
|
||||
"home-manager": "home-manager",
|
||||
"nix-minecraft": "nix-minecraft",
|
||||
"nix-modpack": "nix-modpack",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
@ -6,7 +6,11 @@
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-minecraft.url = "github:Jan-Bulthuis/nix-minecraft";
|
||||
nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nix-modpack.url = "github:Jan-Bulthuis/nix-modpack";
|
||||
nix-modpack.inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
outputs = inputs: inputs.glue { inherit inputs; };
|
||||
outputs = inputs: inputs.glue inputs;
|
||||
}
|
||||
|
@ -2,10 +2,7 @@
|
||||
|
||||
let
|
||||
mkGlue =
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
inputs:
|
||||
let
|
||||
flake = inputs.self;
|
||||
nixpkgs = inputs.nixpkgs;
|
||||
@ -50,12 +47,7 @@ let
|
||||
in
|
||||
fn (entries // recursedEntries);
|
||||
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
eachSystem = fn: lib.genAttrs systems fn;
|
||||
eachSystem = fn: lib.genAttrs lib.systems.flakeExposed fn;
|
||||
|
||||
systemArgs = eachSystem (system: {
|
||||
pkgs = (
|
||||
@ -103,17 +95,31 @@ let
|
||||
);
|
||||
|
||||
nixosModules = collectModules "${flake}/modules/nixos";
|
||||
inputNixosModules = lib.map (flake: flake.outputs.nixosModules.default) (
|
||||
lib.filter (flake: lib.hasAttrByPath [ "outputs" "nixosModules" "default" ] flake) (
|
||||
lib.attrValues inputs
|
||||
)
|
||||
);
|
||||
|
||||
homeModules = collectModules "${flake}/modules/home";
|
||||
inputHomeModules = lib.map (flake: flake.outputs.homeManagerModules.default) (
|
||||
lib.filter (flake: lib.hasAttrByPath [ "outputs" "homeManagerModules" "default" ] flake) (
|
||||
lib.attrValues inputs
|
||||
)
|
||||
);
|
||||
|
||||
inputOverlays = lib.map (flake: flake.outputs.overlays.default) (
|
||||
lib.filter (flake: lib.hasAttrByPath [ "outputs" "overlays" "default" ] flake) (
|
||||
lib.attrValues inputs
|
||||
)
|
||||
);
|
||||
|
||||
overlayModule =
|
||||
{ ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlay ];
|
||||
nixpkgs.overlays = [ overlay ] ++ inputOverlays;
|
||||
};
|
||||
|
||||
homeManager = inputs.home-manager.nixosModules.home-manager;
|
||||
|
||||
nixosConfigurations = importDir "${flake}/hosts" (
|
||||
attrs:
|
||||
lib.mapAttrs (
|
||||
@ -139,7 +145,7 @@ let
|
||||
usersModule =
|
||||
{ ... }:
|
||||
{
|
||||
home-manager.sharedModules = homeModules;
|
||||
home-manager.sharedModules = homeModules ++ inputHomeModules;
|
||||
home-manager.useUserPackages = false; # TODO: See if this should be changed to true?
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.users = homesConfiguration;
|
||||
@ -151,9 +157,9 @@ let
|
||||
systemPath
|
||||
overlayModule
|
||||
usersModule
|
||||
homeManager
|
||||
]
|
||||
++ nixosModules;
|
||||
++ nixosModules
|
||||
++ inputNixosModules;
|
||||
}
|
||||
) (lib.attrsets.filterAttrs (name: entry: entry.type == "directory") attrs)
|
||||
);
|
||||
|
@ -10,6 +10,8 @@
|
||||
# Admin users
|
||||
users.users.jan.extraGroups = [ "wheel" ];
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
|
||||
modules = {
|
||||
profiles.laptop.enable = true;
|
||||
};
|
||||
|
@ -17,9 +17,6 @@
|
||||
ente-auth
|
||||
bitwarden
|
||||
carla
|
||||
baobab
|
||||
gnome-calculator
|
||||
nautilus
|
||||
winbox
|
||||
whatsapp-for-linux
|
||||
discord
|
||||
@ -30,6 +27,8 @@
|
||||
river # TODO: Move
|
||||
firefox # TODO: Move to dediated module
|
||||
ryubing
|
||||
dconf-editor
|
||||
bottles
|
||||
];
|
||||
|
||||
modules = {
|
||||
@ -88,7 +87,7 @@
|
||||
|
||||
# Languages
|
||||
haskell.enable = false;
|
||||
js.enable = false;
|
||||
js.enable = true;
|
||||
nix.enable = true;
|
||||
rust.enable = true;
|
||||
python.enable = true;
|
||||
|
77
modules/home/desktop/gnome.nix
Normal file
77
modules/home/desktop/gnome.nix
Normal file
@ -0,0 +1,77 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.gnome;
|
||||
in
|
||||
{
|
||||
options.modules.desktop.gnome = {
|
||||
enable = mkEnableOption "gnome";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# TODO: Enable extensions with dconf
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "capitaine-cursors";
|
||||
size = 24;
|
||||
package = pkgs.capitaine-cursors;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
gnome-session
|
||||
gnome-shell
|
||||
gnome-tweaks
|
||||
gnome-calculator
|
||||
snapshot
|
||||
gnome-characters
|
||||
gnome-connections
|
||||
blackbox-terminal
|
||||
baobab
|
||||
gnome-disk-utility
|
||||
evince
|
||||
nautilus
|
||||
gnome-font-viewer
|
||||
loupe
|
||||
gnome-maps
|
||||
gnome-music
|
||||
gnome-control-center
|
||||
gnome-text-editor
|
||||
showtime
|
||||
file-roller
|
||||
|
||||
# For theming gtk3
|
||||
adw-gtk3
|
||||
]
|
||||
++ (with pkgs.gnomeExtensions; [
|
||||
gsconnect
|
||||
disable-workspace-animation
|
||||
wallpaper-slideshow
|
||||
]);
|
||||
|
||||
# Enable and set the gtk themes
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk3.extraConfig = {
|
||||
gtk-theme-name = "adw-gtk3";
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-theme-name = "Adwaita";
|
||||
};
|
||||
};
|
||||
|
||||
# Set the theme with dconf
|
||||
dconf.settings."org/gnome/desktop/interface" = {
|
||||
gtk-theme = "adw-gtk3";
|
||||
};
|
||||
};
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.gnome;
|
||||
in
|
||||
{
|
||||
options.modules.desktop.gnome = {
|
||||
enable = mkEnableOption "gnome";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
# TODO: Enable extensions with dconf
|
||||
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
gnome-control-center
|
||||
gnome-tweaks
|
||||
blackbox-terminal
|
||||
]
|
||||
++ (with pkgs.gnomeExtensions; [
|
||||
gsconnect
|
||||
disable-workspace-animation
|
||||
]);
|
||||
};
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.desktop.tiling;
|
||||
in
|
||||
{
|
||||
options.modules.desktop.tiling = {
|
||||
enable = mkEnableOption "tiling desktop";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
};
|
||||
}
|
@ -84,6 +84,9 @@ in
|
||||
# Disable update notifications
|
||||
"update.mode" = "none";
|
||||
|
||||
# Set themes
|
||||
"window.autoDetectColorScheme" = true;
|
||||
|
||||
# TODO: Move to direnv module
|
||||
# Ignore direnv folder
|
||||
"files.exclude" = {
|
||||
|
@ -40,22 +40,6 @@ in
|
||||
xdg-user-dirs-gtk
|
||||
];
|
||||
|
||||
# Set up desktop entries for possible desktop environments
|
||||
services.displayManager.sessionPackages = [
|
||||
(pkgs.writeTextFile {
|
||||
name = "river.desktop";
|
||||
text = ''
|
||||
[Desktop Entry]
|
||||
Name=River
|
||||
Comment=A dynamic tiling Wayland compositor
|
||||
Exec=river
|
||||
Type=Application
|
||||
'';
|
||||
destination = "/share/wayland-sessions/river.desktop";
|
||||
passthru.providedSessions = [ "river" ];
|
||||
})
|
||||
];
|
||||
|
||||
# Enable Gnome Remote Desktop
|
||||
services.gnome.gnome-remote-desktop.enable = true;
|
||||
systemd.services."gnome-remote-desktop".wantedBy = [ "graphical.target" ];
|
||||
|
Loading…
x
Reference in New Issue
Block a user