95 lines
1.9 KiB
Markdown
95 lines
1.9 KiB
Markdown
# JSL Home
|
|
|
|
## Usage
|
|
|
|
Shell alias for "nix home manager update"
|
|
|
|
```shell
|
|
nhmu
|
|
```
|
|
|
|
### Function
|
|
|
|
```nix
|
|
{
|
|
description = "Machine-specific Home Manager configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
john-home-config = {
|
|
url = "git+https://gitea.john-stream.com/john/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs =
|
|
{ nixpkgs, ... }@inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
mkHomeJSL = inputs.john-home-config.lib.mkHomeConfiguration;
|
|
userName = "john";
|
|
in
|
|
{
|
|
homeConfigurations."${userName}" = mkHomeJSL userName;
|
|
};
|
|
}
|
|
```
|
|
|
|
### Module
|
|
|
|
```nix
|
|
{
|
|
description = "John's system flake";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
|
jsl-home = {
|
|
url = "git+https://gitea.john-stream.com/john/jsl-home?ref=dev";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, ... }@inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
nixosSystem = nixpkgs.lib.nixosSystem;
|
|
hostName = "john-p14s";
|
|
in
|
|
{
|
|
nixosConfigurations.${hostName} = nixosSystem {
|
|
specialArgs =
|
|
{
|
|
inherit inputs;
|
|
inherit system;
|
|
};
|
|
modules = [
|
|
./hardware-configuration.nix
|
|
./configuration.nix
|
|
inputs.jsl-home.nixosModules.default
|
|
{
|
|
stateVersion = "24.05";
|
|
user = "john";
|
|
root = true;
|
|
ssh = true;
|
|
profile = "personal";
|
|
enableShell = true;
|
|
_1password = true;
|
|
docker = true;
|
|
# graphical = true;
|
|
graphical = {
|
|
steam = true;
|
|
vscode = true;
|
|
};
|
|
extraImports = [
|
|
./home-manager/john.nix
|
|
./home-manager/gnome.nix
|
|
./home-manager/ssh.nix
|
|
];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
```
|