Compare commits
No commits in common. "main" and "home-manager" have entirely different histories.
main
...
home-manag
20
README.md
20
README.md
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
1) Install [NixOS](https://nixos.org/) from an ISO via USB
|
||||
2) Reboot machine
|
||||
3) Edit `/etc/nixos/configuration` and add `git` to packages
|
||||
3) Edit /etc/nixos/configuration and add `git` to packages
|
||||
4) Clone this repo
|
||||
5) Copy new `host/` configuration for the new machine
|
||||
6) Copy `/etc/nixos/hardware-configuration` to `host/<host>/hardware.nix`
|
||||
6) Copy /etc/nixos/hardware-configuration to `host/<host>/hardware.nix`
|
||||
7) Edit `flake.nix` to point to the new `host`
|
||||
8) `git add .`
|
||||
9) Run `sudo nixos-rebuild switch --flake .#nixos`
|
||||
|
|
@ -17,22 +17,6 @@ https://gist.github.com/FlakM/0535b8aa7efec56906c5ab5e32580adf
|
|||
# Building NixOS ISO
|
||||
`nix build .#nixosConfigurations.live.config.system.build.isoImage`
|
||||
|
||||
# Using Standalone Home Manager
|
||||
1) Install [Nix](https://nixos.org/) via:
|
||||
|
||||
`
|
||||
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
|
||||
`
|
||||
|
||||
2) Create `~/.config/nix/nix.conf` file with the following contents to enable the use of flakes:
|
||||
```
|
||||
experimental-features = nix-command flakes
|
||||
```
|
||||
3) Install `git`
|
||||
4) Clone this repo
|
||||
5) Edit `flake.nix` variables as needed
|
||||
6) `home-manager switch --flake .`
|
||||
|
||||
# Misc
|
||||
## Garbage collection
|
||||
`nix-collect-garbage -d`
|
||||
|
|
|
|||
107
flake.lock
107
flake.lock
|
|
@ -68,28 +68,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"elephant": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769329000,
|
||||
"narHash": "sha256-0vibWqmCsG1t4xL2euR6PScB3M4QZigB5JGl+BIH4NY=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "elephant",
|
||||
"rev": "1988112d1f54dd76e8a90f551945df763586bdad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"ref": "master",
|
||||
"repo": "elephant",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
@ -169,11 +147,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769289524,
|
||||
"narHash": "sha256-6Cwtvzrw79cOk1lCzN2aKSVrpgSOSQoYhyMmhXXZjTA=",
|
||||
"lastModified": 1768836546,
|
||||
"narHash": "sha256-nJZkTamcXXMW+SMYiGFB6lB8l0aJw0xjssfN8xYd/Fs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2539eba97a6df237d75617c25cd2dbef92df3d5b",
|
||||
"rev": "b56c5ad14fcf8b5bc887463552483bf000ca562a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -206,11 +184,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769220693,
|
||||
"narHash": "sha256-o2r6tPNQ966AjPw5QpiD0guVXm5SvkuTIbZH9vN87NE=",
|
||||
"lastModified": 1768789193,
|
||||
"narHash": "sha256-EWIj+tZSvbi3e43tBwc6xvNwEWEVwPQkuGim2tvxP/E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "515d1d8491dd5be06f4db0208f096f0cedba1824",
|
||||
"rev": "7e5664fa1e2051630b5e9e976cfd462f21a94abb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -221,11 +199,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1769018530,
|
||||
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
|
||||
"lastModified": 1768564909,
|
||||
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
|
||||
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -262,13 +240,11 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"elephant": "elephant",
|
||||
"home-manager": "home-manager",
|
||||
"install-system": "install-system",
|
||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"stylix": "stylix",
|
||||
"walker": "walker"
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
|
|
@ -284,7 +260,7 @@
|
|||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems_2",
|
||||
"systems": "systems",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
|
|
@ -292,11 +268,11 @@
|
|||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769202931,
|
||||
"narHash": "sha256-4IZuCMjlWEtS6rVXozVXaJG6QADHVncXC29PLZr6ZB4=",
|
||||
"lastModified": 1768744881,
|
||||
"narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "749285c90e3e35ebe0952c86838f3089abbc7939",
|
||||
"rev": "06684f00cfbee14da96fd4307b966884de272d3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -307,21 +283,6 @@
|
|||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
|
@ -336,21 +297,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
|
@ -431,31 +377,6 @@
|
|||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"walker": {
|
||||
"inputs": {
|
||||
"elephant": [
|
||||
"elephant"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1769093508,
|
||||
"narHash": "sha256-ccwJ1ADGNFd5LDF2JWdfP7+f1Hs2EvJ+2o6sUOdYi7w=",
|
||||
"owner": "abenz1267",
|
||||
"repo": "walker",
|
||||
"rev": "e427025bdda667712b08dd56f1a0a23667f1364c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "abenz1267",
|
||||
"ref": "master",
|
||||
"repo": "walker",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
20
flake.nix
20
flake.nix
|
|
@ -7,29 +7,15 @@
|
|||
url = "github:nix-community/home-manager/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-vscode-extensions = {
|
||||
url = "github:nix-community/nix-vscode-extensions";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
elephant = {
|
||||
url = "github:abenz1267/elephant/master";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
walker = {
|
||||
url = "github:abenz1267/walker/master";
|
||||
inputs = {
|
||||
elephant.follows = "elephant";
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
install-system = {
|
||||
url = "path:scripts/install-system";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
@ -69,14 +55,14 @@
|
|||
inherit system;
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
host = "installation-iso";
|
||||
profile = "desktop";
|
||||
inherit host;
|
||||
inherit profile;
|
||||
inherit username;
|
||||
};
|
||||
modules = [
|
||||
(nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix")
|
||||
{ environment.systemPackages = [ install-system.packages.${system}.default ]; }
|
||||
./hosts/installation-iso
|
||||
./hosts/${host}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@ with lib;
|
|||
username = "josh";
|
||||
homeDirectory = "/home/josh";
|
||||
stateVersion = "25.11";
|
||||
|
||||
packages = with pkgs; [
|
||||
tldr
|
||||
];
|
||||
};
|
||||
|
||||
# Let Home Manager install and manage itself
|
||||
|
|
@ -36,14 +32,6 @@ with lib;
|
|||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
extra-substituters = [
|
||||
"https://walker.cachix.org"
|
||||
"https://walker-git.cachix.org"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"walker.cachix.org-1:fG8q+uAaMqhsMxWjwvk0IMb4mFPFLqHjuvfwQxE4oJM="
|
||||
"walker-git.cachix.org-1:vmC0ocfPWh0S/vRAQGtChuiZBTAe4wiKDeyyXM0/7pM="
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../modules/core
|
||||
../../modules/options
|
||||
|
||||
./hardware.nix
|
||||
./host-packages.nix
|
||||
];
|
||||
|
||||
modules.hyprland = {
|
||||
enable = true;
|
||||
terminal = "kitty";
|
||||
};
|
||||
|
||||
modules.plasma.enable = false;
|
||||
modules.displayManager.displayManager = "gdm";
|
||||
|
||||
modules.zsh.enable = true;
|
||||
modules.shell.defaultShell = "zsh";
|
||||
|
||||
modules.pipewire.enable = true;
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
parted
|
||||
unixtools.fdisk
|
||||
];
|
||||
}
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
{
|
||||
profile,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../../profiles/${profile}
|
||||
../../profiles/vm
|
||||
../../modules/core
|
||||
../../modules/options
|
||||
|
|
@ -14,7 +16,6 @@
|
|||
modules.hyprland = {
|
||||
enable = true;
|
||||
terminal = "kitty";
|
||||
launcher = "walker";
|
||||
monitor = [
|
||||
",preferred,auto,1"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -17,6 +17,5 @@
|
|||
./stylix.nix
|
||||
./system.nix
|
||||
./user.nix
|
||||
./zsh.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
networking = {
|
||||
hostName = "${host}";
|
||||
networkmanager.enable = true;
|
||||
wireless.enable = true;
|
||||
wireless.enable = false;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
|
||||
|
|
|
|||
|
|
@ -32,5 +32,5 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "26.05";
|
||||
system.stateVersion = "25.05";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,10 +48,8 @@ in
|
|||
# Set /etc/shells so GDM will show our user when ZSH is selected
|
||||
environment.shells = [ pkgs.${shellCfg.defaultShell} ];
|
||||
|
||||
environment.pathsToLink =
|
||||
# Since Home Manager is installed via its NixOS module, we need to add this so that
|
||||
# the portal definitions and DE provided configurations get linked
|
||||
[ "/share/applications" "/share/xdg-desktop-portal" ]
|
||||
# Needed to get completion for system packages (e.g. systemd)
|
||||
environment.pathsToLink =
|
||||
[ ]
|
||||
++ (if zshCfg.enable then [ "/share/zsh" ] else [ ]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
zshCfg = config.modules.zsh;
|
||||
in
|
||||
{
|
||||
config = mkIf zshCfg.enable {
|
||||
programs.zsh.enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -10,7 +10,6 @@
|
|||
./overlays.nix
|
||||
./stylix.nix
|
||||
./vscodium.nix
|
||||
./walker.nix
|
||||
./xdg.nix
|
||||
./zsh
|
||||
];
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ in
|
|||
bind = [
|
||||
# Misc
|
||||
"$mod,Return,exec,${cfg.terminal}"
|
||||
"$mod,D,exec,walker"
|
||||
|
||||
# Window management
|
||||
"$mod,C,killactive"
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ in
|
|||
wayland.windowManager.hyprland = {
|
||||
enable = cfg.enable;
|
||||
package = pkgs.hyprland;
|
||||
systemd.enable = true;
|
||||
systemd.enable = false;
|
||||
xwayland.enable = true;
|
||||
settings = {
|
||||
monitor = cfg.monitor;
|
||||
|
||||
|
|
@ -46,10 +47,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
misc = {
|
||||
initial_workspace_tracking = 2;
|
||||
};
|
||||
|
||||
env = [
|
||||
"NIXOS_OZONE_WL, 1"
|
||||
"XDG_CURRENT_DESKTOP, Hyprland"
|
||||
|
|
@ -57,10 +54,6 @@ in
|
|||
"XDG_SESSION_TYPE, wayland"
|
||||
];
|
||||
|
||||
xwayland = {
|
||||
enabled = true;
|
||||
};
|
||||
|
||||
ecosystem = {
|
||||
no_update_news = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
config,
|
||||
inputs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let hyprlandCfg = config.modules.hyprland;
|
||||
in
|
||||
{
|
||||
imports = [ inputs.walker.homeManagerModules.default ];
|
||||
|
||||
programs.walker = mkIf (hyprlandCfg.launcher == "walker") {
|
||||
enable = true;
|
||||
runAsService = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -19,15 +19,6 @@ with lib;
|
|||
The terminal to use for Hyprland.
|
||||
'';
|
||||
};
|
||||
launcher = mkOption {
|
||||
type = types.enum [
|
||||
"walker"
|
||||
];
|
||||
default = "walker";
|
||||
description = ''
|
||||
The application launcher to use for Hyprland.
|
||||
'';
|
||||
};
|
||||
monitor = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ",preferred,auto,1" ];
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1769089682,
|
||||
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
|
||||
"lastModified": 1767313136,
|
||||
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
|
||||
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
description = "_template package and shell environment";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
};
|
||||
|
||||
outputs =
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system}.pkgs;
|
||||
name = baseNameOf (toString ./.);
|
||||
name = builtins.baseNameOf (builtins.toString ./.);
|
||||
shellApplication = pkgs.writeShellApplication {
|
||||
inherit name;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1769089682,
|
||||
"narHash": "sha256-9yA/LIuAVQq0lXelrZPjLuLVuZdm03p8tfmHhnDIkms=",
|
||||
"lastModified": 1767313136,
|
||||
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "078d69f03934859a181e81ba987c2bb033eebfc5",
|
||||
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-25.11",
|
||||
"ref": "nixos-25.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,20 +2,23 @@
|
|||
description = "install-system package and shell environment";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, ... }:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs;
|
||||
name = baseNameOf (toString ./.);
|
||||
name = builtins.baseNameOf (builtins.toString ./.);
|
||||
shellApplication = pkgs.writeShellApplication {
|
||||
inherit name;
|
||||
|
||||
text = builtins.readFile ./${name}.sh;
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
coreutils
|
||||
gnused
|
||||
unixtools.column
|
||||
];
|
||||
};
|
||||
in
|
||||
|
|
|
|||
Loading…
Reference in New Issue