Compare commits

...

4 commits

Author SHA1 Message Date
uku
7b77f05476
feat: initial switch from hm to hjem 2025-05-06 21:47:48 +02:00
uku
5c21588430
flake.lock: Update
Flake lock file updates:

• Updated input 'api-rs':
    'github:uku3lig/api-rs/4c699bf25eeb6c3fc77605628b4b8738c2dfc8e4?narHash=sha256-%2BbMpFW9bfMTBbYdJxZ02hCokS5ksV/yuMPjpEzx1zgQ%3D' (2025-04-28)
  → 'github:uku3lig/api-rs/714f785a08d565a4cedce7f4f1d00b0bbd8cc856?narHash=sha256-7DMIobQDgqlLB6B5bUyWzlbOjdIksa5Sm2nimV/aDCs%3D' (2025-05-06)
• Updated input 'nixos-wsl':
    'github:nix-community/NixOS-WSL/0f4ffe22d9736192f560cb851d64106fe65b6adc?narHash=sha256-oSFEsgSEcLX7kYQXH5q/xyncD3qmrGgXv22pGDPPfBY%3D' (2025-05-03)
  → 'github:nix-community/NixOS-WSL/be618645aa0adf461f778500172b6896d5ab2d01?narHash=sha256-r66UGha%2B7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU%3D' (2025-05-05)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/979daf34c8cacebcd917d540070b52a3c2b9b16e?narHash=sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw%3D' (2025-05-04)
  → 'github:NixOS/nixpkgs/3730d8a308f94996a9ba7c7138ede69c1b9ac4ae?narHash=sha256-7%2BpG1I9jvxNlmln4YgnlW4o%2Bw0TZX24k688mibiFDUE%3D' (2025-05-05)
• Updated input 'ukubot-rs':
    'github:uku3lig/ukubot-rs/9cc7d97de243ee78eb70ad3f0153723e7b1b03d8?narHash=sha256-rKEbQSYU3NS/lx3yf%2BFI386p%2BmrgIqajGKUWzOpWxb0%3D' (2025-05-05)
  → 'github:uku3lig/ukubot-rs/63aef28b85398b7c0a34670281e398893e07bc42?narHash=sha256-hScb75ZbtscNKuoZhwRpgVMUf3GuHISQ04zU1zW78oY%3D' (2025-05-06)
• Updated input 'vencord':
    'github:Vendicated/Vencord/0a2d4a2ab2da38d2a1d91c838b1db31c392a870c?narHash=sha256-sGRR3nHPQttiBIIaA2yYFyRezEq%2B2Ds%2BmgCpy6TYueU%3D' (2025-05-04)
  → 'github:Vendicated/Vencord/89ef26e719ce3d257737b58e4f5e50052474ed74?narHash=sha256-%2BuJYlxvfrQxfpY2w1%2BtnFRR%2BY7nyVJgTcLMcu%2BWed%2BQ%3D' (2025-05-05)
2025-05-06 21:44:05 +02:00
uku
ac227d6aed
fix(common): add nix-index-database 2025-05-06 14:59:00 +02:00
uku
2d989b1be6
feat(common): add comma 2025-05-06 14:47:04 +02:00
15 changed files with 175 additions and 175 deletions

View file

@ -5,15 +5,13 @@
_utils, _utils,
agenix, agenix,
camasca, camasca,
home-manager, hjem,
nixpkgs, nixpkgs,
nix-index-database,
vencord, vencord,
... ...
}: }:
let let
username = "leo";
stateVersion = "24.11";
rootPassword = _utils.setupSingleSecret config "rootPassword" { }; rootPassword = _utils.setupSingleSecret config "rootPassword" { };
secrets = _utils.setupSharedSecrets config { secrets = _utils.setupSharedSecrets config {
secrets = [ "userPassword" ]; secrets = [ "userPassword" ];
@ -22,9 +20,8 @@ in
{ {
imports = [ imports = [
agenix.nixosModules.default agenix.nixosModules.default
home-manager.nixosModules.home-manager hjem.nixosModules.default
nix-index-database.nixosModules.nix-index
(lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" username ])
rootPassword.generate rootPassword.generate
secrets.generate secrets.generate
@ -69,21 +66,17 @@ in
wget wget
]; ];
hm = { hjem = {
home = { inherit stateVersion; }; clobberByDefault = true;
users.leo.files = {
programs.ssh = { ".ssh/config".text = ''
enable = true; Host *
addKeysToAgent = "yes"; ForwardAgent yes
forwardAgent = true; AddKeysToAgent yes
'';
}; };
}; };
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
};
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
networking = { networking = {
@ -149,12 +142,7 @@ in
programs = { programs = {
direnv.enable = true; direnv.enable = true;
nix-index-database.comma.enable = true;
command-not-found.enable = false;
nix-index = {
enable = true;
enableFishIntegration = true;
};
}; };
security = { security = {
@ -199,7 +187,7 @@ in
time.timeZone = "Europe/Paris"; time.timeZone = "Europe/Paris";
users.users = { users.users = {
"${username}" = { leo = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.fish; shell = pkgs.fish;
extraGroups = [ extraGroups = [
@ -228,5 +216,5 @@ in
# this value at the release version of the first install of this system. # this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option # Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = lib.mkDefault stateVersion; # Did you read the comment? system.stateVersion = lib.mkDefault "24.11"; # Did you read the comment?
} }

View file

@ -14,6 +14,7 @@
../programs/ghostty.nix ../programs/ghostty.nix
../programs/gnome.nix ../programs/gnome.nix
../programs/java.nix ../programs/java.nix
../programs/neovim/neovide.nix
]; ];
boot = { boot = {
@ -44,8 +45,30 @@
sbctl sbctl
wl-clipboard wl-clipboard
chromium
(discord.override {
withOpenASAR = true;
withVencord = true;
})
gimp3
gparted
idea-wrapped
mpv
obsidian
strawberry
teams-for-linux
thunderbird
vscode
niigo-miku-cursors niigo-miku-cursors
patchouli-cursors patchouli-cursors
# libreoffice stuff
libreoffice-qt6-fresh
hunspell
hunspellDicts.en_US
hunspellDicts.fr-moderne
]; ];
sessionVariables = { sessionVariables = {
@ -77,32 +100,6 @@
enable32Bit = true; enable32Bit = true;
}; };
hm.imports = [ ../programs/neovim/neovide.nix ];
hm.home = {
packages = with pkgs; [
chromium
(discord.override {
withOpenASAR = true;
withVencord = true;
})
gimp3
gparted
idea-wrapped
mpv
obsidian
strawberry
teams-for-linux
thunderbird
vscode
# libreoffice stuff
libreoffice-qt6-fresh
hunspell
hunspellDicts.en_US
hunspellDicts.fr-moderne
];
};
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8"; LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8"; LC_IDENTIFICATION = "fr_FR.UTF-8";

View file

@ -1,7 +1,5 @@
{ {
lib,
pkgs, pkgs,
config,
... ...
}: }:
{ {
@ -31,9 +29,9 @@
programs.light.enable = true; programs.light.enable = true;
# hyprland stuff # hyprland stuff
services.blueman = lib.mkIf config.programs.hyprland.enable { enable = true; }; # services.blueman = lib.mkIf config.programs.hyprland.enable { enable = true; };
hm.wayland.windowManager.hyprland.settings.exec-once = with pkgs; [ # hm.wayland.windowManager.hyprland.settings.exec-once = with pkgs; [
"${lib.getExe networkmanagerapplet}" # "${lib.getExe networkmanagerapplet}"
"${lib.getExe' blueman "blueman-applet"}" # "${lib.getExe' blueman "blueman-applet"}"
]; # ];
} }

73
flake.lock generated
View file

@ -3,9 +3,7 @@
"agenix": { "agenix": {
"inputs": { "inputs": {
"darwin": [], "darwin": [],
"home-manager": [ "home-manager": [],
"home-manager"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -37,11 +35,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1745878068, "lastModified": 1746560564,
"narHash": "sha256-+bMpFW9bfMTBbYdJxZ02hCokS5ksV/yuMPjpEzx1zgQ=", "narHash": "sha256-7DMIobQDgqlLB6B5bUyWzlbOjdIksa5Sm2nimV/aDCs=",
"owner": "uku3lig", "owner": "uku3lig",
"repo": "api-rs", "repo": "api-rs",
"rev": "4c699bf25eeb6c3fc77605628b4b8738c2dfc8e4", "rev": "714f785a08d565a4cedce7f4f1d00b0bbd8cc856",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -145,23 +143,23 @@
"type": "github" "type": "github"
} }
}, },
"home-manager": { "hjem": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1746413188, "lastModified": 1746355589,
"narHash": "sha256-i6BoiQP0PasExESQHszC0reQHfO6D4aI2GzOwZMOI20=", "narHash": "sha256-LguszqsDBTtdBxblQTtN7vOAYmfoe43aHkB8aK1dChE=",
"owner": "nix-community", "owner": "feel-co",
"repo": "home-manager", "repo": "hjem",
"rev": "8a318641ac13d3bc0a53651feaee9560f9b2d89a", "rev": "77b37eeb583d43e1c723119a69c906235174ce57",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "feel-co",
"repo": "home-manager", "repo": "hjem",
"type": "github" "type": "github"
} }
}, },
@ -217,6 +215,26 @@
"type": "github" "type": "github"
} }
}, },
"nix-index-database": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1746330942,
"narHash": "sha256-ShizFaJCAST23tSrHHtFFGF0fwd72AG+KhPZFFQX/0o=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "137fd2bd726fff343874f85601b51769b48685cc",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nixos-wsl": { "nixos-wsl": {
"inputs": { "inputs": {
"flake-compat": [], "flake-compat": [],
@ -225,11 +243,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746286866, "lastModified": 1746453552,
"narHash": "sha256-oSFEsgSEcLX7kYQXH5q/xyncD3qmrGgXv22pGDPPfBY=", "narHash": "sha256-r66UGha+7KVHkI7ksrcMjnw/mm9Sg4l5bQlylxHwdGU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NixOS-WSL", "repo": "NixOS-WSL",
"rev": "0f4ffe22d9736192f560cb851d64106fe65b6adc", "rev": "be618645aa0adf461f778500172b6896d5ab2d01",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -240,11 +258,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1746328495, "lastModified": 1746461020,
"narHash": "sha256-uKCfuDs7ZM3QpCE/jnfubTg459CnKnJG/LwqEVEdEiw=", "narHash": "sha256-7+pG1I9jvxNlmln4YgnlW4o+w0TZX24k688mibiFDUE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "979daf34c8cacebcd917d540070b52a3c2b9b16e", "rev": "3730d8a308f94996a9ba7c7138ede69c1b9ac4ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -263,9 +281,10 @@
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"getchvim": "getchvim", "getchvim": "getchvim",
"home-manager": "home-manager", "hjem": "hjem",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"mystia": "mystia", "mystia": "mystia",
"nix-index-database": "nix-index-database",
"nixos-wsl": "nixos-wsl", "nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"systems": "systems", "systems": "systems",
@ -340,11 +359,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1746428596, "lastModified": 1746560624,
"narHash": "sha256-rKEbQSYU3NS/lx3yf+FI386p+mrgIqajGKUWzOpWxb0=", "narHash": "sha256-hScb75ZbtscNKuoZhwRpgVMUf3GuHISQ04zU1zW78oY=",
"owner": "uku3lig", "owner": "uku3lig",
"repo": "ukubot-rs", "repo": "ukubot-rs",
"rev": "9cc7d97de243ee78eb70ad3f0153723e7b1b03d8", "rev": "63aef28b85398b7c0a34670281e398893e07bc42",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -356,11 +375,11 @@
"vencord": { "vencord": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1746387143, "lastModified": 1746484774,
"narHash": "sha256-sGRR3nHPQttiBIIaA2yYFyRezEq+2Ds+mgCpy6TYueU=", "narHash": "sha256-+uJYlxvfrQxfpY2w1+tnFRR+Y7nyVJgTcLMcu+Wed+Q=",
"owner": "Vendicated", "owner": "Vendicated",
"repo": "Vencord", "repo": "Vencord",
"rev": "0a2d4a2ab2da38d2a1d91c838b1db31c392a870c", "rev": "89ef26e719ce3d257737b58e4f5e50052474ed74",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -68,7 +68,7 @@
url = "github:uku3lig/agenix"; url = "github:uku3lig/agenix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.systems.follows = "systems"; inputs.systems.follows = "systems";
inputs.home-manager.follows = "home-manager"; inputs.home-manager.follows = "";
inputs.darwin.follows = ""; inputs.darwin.follows = "";
}; };
@ -89,8 +89,8 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = { hjem = {
url = "github:nix-community/home-manager"; url = "github:feel-co/hjem";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
@ -117,6 +117,11 @@
inputs.flake-compat.follows = ""; inputs.flake-compat.follows = "";
}; };
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
# nix's most elaborate, overcomplicated joke # nix's most elaborate, overcomplicated joke
systems.url = "github:nix-systems/default"; systems.url = "github:nix-systems/default";

View file

@ -6,17 +6,16 @@
fishPlugins.hydro fishPlugins.hydro
]; ];
hm.programs.fish = { hjem.users.leo.files.".config/fish/config.fish".text = ''
enable = true; function fish_greeting
end
interactiveShellInit = '' if status is-interactive
set --global hydro_symbol_git_dirty "*" set --global hydro_symbol_git_dirty "*"
set --global hydro_color_pwd blue set --global hydro_color_pwd blue
set --global hydro_color_git magenta set --global hydro_color_git magenta
set --global hydro_color_prompt green set --global hydro_color_prompt green
set --global hydro_color_duration yellow set --global hydro_color_duration yellow
''; end
'';
functions.fish_greeting = "";
};
} }

View file

@ -5,7 +5,7 @@
xpadneo.enable = true; xpadneo.enable = true;
}; };
hm.home.packages = with pkgs; [ environment.systemPackages = with pkgs; [
obs-studio obs-studio
osu-lazer-bin osu-lazer-bin
krita krita

View file

@ -1,14 +1,12 @@
{ pkgs, ... }:
{ {
hm.programs.ghostty = { environment.systemPackages = [ pkgs.ghostty ];
enable = true;
settings = { hjem.users.leo.files.".config/ghostty/config".text = ''
theme = "light:catppuccin-latte,dark:catppuccin-mocha"; font-family = Iosevka Term
font-family = "Iosevka Term"; font-feature = -calt
font-size = 12; font-feature = -dlig
font-feature = [ font-size = 12
"-calt" theme = light:catppuccin-latte,dark:catppuccin-mocha
"-dlig" '';
];
};
};
} }

View file

@ -1,36 +1,36 @@
{ config, ... }: { lib, pkgs, ... }:
{ {
programs.git.enable = true; environment.systemPackages = with pkgs; [
git
gh
];
hm.programs = { hjem.users.leo.files = {
git = { ".gitconfig".text = lib.generators.toGitINI {
inherit (config.programs.git) enable package; user = {
userName = "uku"; name = "uku";
userEmail = "hi@uku.moe"; email = "hi@uku.moe";
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8";
signing = {
format = "ssh";
key = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+7+KfdOrhcnHayxvOENUeMx8rE4XEIV/AxMHiaNUP8";
signByDefault = true;
}; };
# delta.enable = true; commit = {
gpgSign = true;
extraConfig = { verbose = true;
init.defaultBranch = "main";
core.autocrlf = "input";
push.autoSetupRemote = true;
merge.conflictStyle = "zdiff3";
rebase.autoStash = true;
status.submoduleSummary = true;
diff.submodule = "log";
submodule.recurse = true;
commit.verbose = true;
}; };
gpg.format = "ssh";
tag.gpgSign = true;
core.autocrlf = "input";
diff.submodule = "log";
init.defaultBranch = "main";
merge.conflictStyle = "zdiff3";
push.autoSetupRemote = true;
rebase.autoStash = true;
status.submoduleSummary = true;
submodule.recurse = true;
}; };
gh = { ".config/gh/config.yml".text = lib.generators.toYAML { } {
enable = true;
settings.git_protocol = "ssh"; settings.git_protocol = "ssh";
}; };
}; };

View file

@ -16,14 +16,6 @@
terminal = "ghostty"; terminal = "ghostty";
}; };
hm.programs.gnome-shell = {
enable = true;
extensions = with pkgs.gnomeExtensions; [
{ package = appindicator; }
{ package = dash-to-panel; }
];
};
# ssh-agent is provided by gnome-keyring-daemon # ssh-agent is provided by gnome-keyring-daemon
# (mabye soon by gcr, see NixOS/nixpkgs#140824) # (mabye soon by gcr, see NixOS/nixpkgs#140824)
programs.ssh.startAgent = lib.mkForce false; programs.ssh.startAgent = lib.mkForce false;
@ -32,6 +24,8 @@
systemPackages = [ systemPackages = [
adw-gtk3 adw-gtk3
gnome-tweaks gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.dash-to-panel
]; ];
gnome.excludePackages = [ gnome.excludePackages = [

View file

@ -1,7 +1,6 @@
# home-manager module { pkgs, ... }:
{ {
programs.neovide = { environment.systemPackages = [ pkgs.neovide ];
enable = true;
settings.fork = true; hjem.users.leo.files.".config/neovide/config.toml".text = "fork = true";
};
} }

View file

@ -8,8 +8,8 @@ let
toml = pkgs.formats.toml { }; toml = pkgs.formats.toml { };
in in
{ {
hm.home.file.".cargo/config.toml".source = toml.generate "config.toml" { hjem.users.leo.files.".cargo/config.toml".source = toml.generate "config.toml" {
build.target-dir = "${config.hm.home.homeDirectory}/.cargo/target"; build.target-dir = "${config.hjem.users.leo.directory}/.cargo/target";
target.x86_64-unknown-linux-gnu = { target.x86_64-unknown-linux-gnu = {
linker = "${lib.getExe pkgs.clang}"; linker = "${lib.getExe pkgs.clang}";

View file

@ -7,20 +7,18 @@
services.xserver.videoDrivers = [ "amdgpu" ]; services.xserver.videoDrivers = [ "amdgpu" ];
hm = { environment.systemPackages = with pkgs; [
home.packages = with pkgs; [ wineWowPackages.waylandFull
wineWowPackages.waylandFull ];
];
wayland.windowManager.hyprland.settings = { # hm = {
monitor = "DP-1,3840x2160@144,0x0,1.5"; # wayland.windowManager.hyprland.settings = {
# monitor = "DP-1,3840x2160@144,0x0,1.5";
xwayland.force_zero_scaling = true; # xwayland.force_zero_scaling = true;
# env = [
env = [ # "GDK_SCALE,1.5"
"GDK_SCALE,1.5" # "XCURSOR_SIZE,24"
"XCURSOR_SIZE,24" # ];
]; # };
}; # };
};
} }

View file

@ -37,10 +37,10 @@
}; };
}; };
hm.wayland.windowManager.hyprland.settings.env = [ # hm.wayland.windowManager.hyprland.settings.env = [
"XDG_SESSION_TYPE,wayland" # "XDG_SESSION_TYPE,wayland"
"GBM_BACKEND,nvidia-drm" # "GBM_BACKEND,nvidia-drm"
"__GLX_VENDOR_LIBRARY_NAME,nvidia" # "__GLX_VENDOR_LIBRARY_NAME,nvidia"
"NVD_BACKEND,direct" # "NVD_BACKEND,direct"
]; # ];
} }

View file

@ -29,9 +29,14 @@ in
i18n.defaultLocale = lib.mkForce "fr_FR.UTF-8"; i18n.defaultLocale = lib.mkForce "fr_FR.UTF-8";
hm.programs = { hjem.users.leo.files = {
git.includes = [ { path = "~/.config/git/work_config"; } ]; ".gitconfig".text = lib.generators.toGitINI {
ssh.includes = [ "work_config" ]; include.path = "~/.config/git/work_config";
};
".ssh/config".text = lib.mkBefore ''
Include work_config
'';
}; };
networking.firewall.allowedTCPPorts = [ 8000 ]; networking.firewall.allowedTCPPorts = [ 8000 ];