Compare commits

...

6 commits

6 changed files with 113 additions and 19 deletions

View file

@ -36,10 +36,27 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-23_05": {
"locked": {
"lastModified": 1689956312,
"narHash": "sha256-NV9yamMhE5jgz+ZSM2IgXeYqOvmGIbIIJ+AFIhfD7Ek=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6da4bc6cb07cba1b8e53d139cbf1d2fb8061d967",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs",
"nixpkgs-23_05": "nixpkgs-23_05"
} }
} }
}, },

View file

@ -3,27 +3,90 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
nixpkgs-23_05.url = "github:nixos/nixpkgs/nixos-23.05";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
outputs = {nixpkgs, home-manager, ...}: outputs = {nixpkgs, home-manager, ...} @inputs:
let let
system = "x86_64-linux"; # Overlays enable you to customize the Nixpkgs attribute set
in { overlays = [
defaultPackage.${system} = home-manager.defaultPackage.${system}; (self: super:
let
system = self.stdenv.system;
in {
pkgs_2305 = inputs.nixpkgs-23_05.legacyPackages.${system};
pkgs_aarch64 = import nixpkgs {
system = "aarch64-${builtins.head (builtins.match ".+-([[:lower:]]+)" system)}";
};
pkgs_x86_64 = nixpkgs.legacyPackages.${"x86_64-${builtins.head (builtins.match ".+-([[:lower:]]+)" system)}"};
})
];
# Systems supported
allSystems = [
"aarch64-linux"
"x86_64-linux"
];
importPkgs = (system: import nixpkgs {
inherit overlays system;
config.allowUnfree = true;
});
# Helper to provide system-specific attributes
forAllSystems = f: nixpkgs.lib.genAttrs allSystems (system: f {
inherit system;
pkgs = (importPkgs system);
});
in
rec {
inherit allSystems importPkgs forAllSystems home-manager;
overlays = { };
packages = forAllSystems
({ pkgs, system }: rec {
home-penguin-fw = homeConfigurations."john@penguin-fw".activationPackage;
home-penguin-duet = homeConfigurations."john@penguin-duet".activationPackage;
home-pixnix = homeConfigurations."john@pixnix".activationPackage;
all = pkgs.symlinkJoin {
name = "all";
paths = [
home-penguin-fw
home-penguin-duet
home-pixnix
];
};
default = all;
});
homeConfigurations = { homeConfigurations = {
"john@penguin" = home-manager.lib.homeManagerConfiguration { "john@penguin-fw" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { pkgs = importPkgs "x86_64-linux";
system = "${system}";
config.allowUnfree = true;
};
modules = [ ./nix/machines/penguin/home.nix ]; modules = [
./nix/machines/penguin-fw/home.nix
];
};
"john@penguin-duet" = home-manager.lib.homeManagerConfiguration {
pkgs = importPkgs "aarch64-linux";
modules = [
./nix/machines/penguin-duet/home.nix
];
};
"john@pixnix" = home-manager.lib.homeManagerConfiguration {
pkgs = importPkgs "x86_64-linux";
modules = [
./nix/common/home.nix
];
}; };
}; };
}; };
} }

View file

@ -70,14 +70,11 @@
programs.git = { programs.git = {
enable = true; enable = true;
delta.enable = true; delta.enable = true;
userEmail = "john@bowdre.net";
userName = "John Bowdre";
extraConfig = { extraConfig = {
init.defaultBranch = "main"; init.defaultBranch = "main";
pull.ff = "only"; pull.rebase = false;
}; };
}; };
# XDG settings
xdg.enable = true;
xdg.mime.enable = true;
} }

View file

@ -5,7 +5,6 @@
enableUpdateCheck = false; enableUpdateCheck = false;
extensions = with pkgs.vscode-extensions; [ extensions = with pkgs.vscode-extensions; [
bbenoist.nix bbenoist.nix
eamodio.gitlens
github.copilot github.copilot
golang.go golang.go
hashicorp.terraform hashicorp.terraform

View file

@ -0,0 +1,14 @@
{ pkgs, lib, config, ... }: {
imports = [
../../common/home.nix
];
# packages
home.packages = with pkgs; [
obsidian
];
# XDG settings
xdg.enable = true;
xdg.mime.enable = true;
}

View file

@ -10,4 +10,8 @@
obsidian obsidian
qFlipper qFlipper
]; ];
# XDG settings
xdg.enable = true;
xdg.mime.enable = true;
} }