diff --git a/config.nix b/config.nix index 82b03e8..7f0c7d8 100644 --- a/config.nix +++ b/config.nix @@ -12,5 +12,6 @@ in (import ./nix/.config/nixpkgs/overlays/03-customizations.nix) (import ./nix/.config/nixpkgs/overlays/04-combine.nix) (import ./nix/.config/nixpkgs/overlays/05-envs.nix) + (import ./overlay.nix) ]; } diff --git a/home-manager/home-manager.nix b/home-manager/home-manager.nix new file mode 100644 index 0000000..17143a7 --- /dev/null +++ b/home-manager/home-manager.nix @@ -0,0 +1,3 @@ +let pkgs = import ../.; +in +pkgs.yorick.home diff --git a/nix/.config/nixpkgs/home.nix b/nix/.config/nixpkgs/home.nix index 1796812..4300721 100644 --- a/nix/.config/nixpkgs/home.nix +++ b/nix/.config/nixpkgs/home.nix @@ -1,4 +1,4 @@ -{ lib, config, options, ... }: +{ lib, config, options, pkgs, ... }: let bin = pkgs.callPackage /home/yorick/dotfiles/bin {}; dpi = 109; @@ -7,20 +7,6 @@ font = { name = "DejaVu Sans Mono"; size = "11"; }; - sources = import /home/yorick/dotfiles/nix/sources.nix; - nixpkgs-loc = /*/home/yorick/nixpkgs;*/ sources.nixpkgs; - pkgs = import nixpkgs-loc { - overlays = [ - (import sources.nixpkgs-wayland) - (import sources.nixpkgs-mozilla) - (import sources.emacs-overlay) - (import ./overlays/01-backports.nix) - (import ./overlays/02-extrapkgs.nix) - (import ./overlays/03-customizations.nix) - (import ./overlays/04-combine.nix) - (import ./overlays/05-envs.nix) - ]; - }; y-firefox = pkgs.wrapFirefox pkgs.latest.firefox-beta-bin.unwrapped { forceWayland = true; browserName = "firefox"; @@ -28,6 +14,15 @@ font = { in { imports = [ ./arbtt.nix ./libinput-gestures.nix ]; + nixpkgs = { + config.allowUnfree = true; + inherit (import /home/yorick/dotfiles/config.nix) overlays; + }; + home = { + stateVersion = "20.09"; + username = "yorick"; + homeDirectory = "/home/yorick"; + }; programs = { gh = { enable = true; @@ -36,7 +31,7 @@ in direnv.enable = true; home-manager = { enable = true; - path = toString /home/yorick/dotfiles/nix/home-manager; + path = toString /home/yorick/dotfiles; }; emacs = { enable = true; diff --git a/nix/sources.json b/nix/sources.json index 62ea370..735f215 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -11,6 +11,18 @@ "url": "https://github.com/nix-community/emacs-overlay/archive/dfed6847f127bd3c2c0cdd71b28d4e63e0ec0e91.tar.gz", "url_template": "https://github.com///archive/.tar.gz" }, + "home-manager": { + "branch": "master", + "description": "Manage a user environment using Nix [maintainer=@rycee] ", + "homepage": "https://nix-community.github.io/home-manager/", + "owner": "nix-community", + "repo": "home-manager", + "rev": "0e6c61a44092e98ba1d75b41f4f947843dc7814d", + "sha256": "0i6qjkyvxbnnvk984781wgkycdrgwf6cpbln7w35gfab18h7mnzy", + "type": "tarball", + "url": "https://github.com/nix-community/home-manager/archive/0e6c61a44092e98ba1d75b41f4f947843dc7814d.tar.gz", + "url_template": "https://github.com///archive/.tar.gz" + }, "niv": { "branch": "master", "description": "Easy dependency management for Nix projects", diff --git a/nixos/overlay.nix b/nixos/overlay.nix index 0334142..0179301 100644 --- a/nixos/overlay.nix +++ b/nixos/overlay.nix @@ -2,7 +2,7 @@ let names = [ "pennyworth" "jarvis" "blackadder" "woodhouse" "frumar" "zazu" ]; in pkgs: super: { - yorick = rec { + yorick = (super.yorick or {}) // rec { nixos = configuration: extraArgs: let @@ -22,11 +22,11 @@ pkgs: super: { }; in c.config.system.build // c; + machine = pkgs.lib.genAttrs names (name: nixos [ + ./roles + (./logical + "/${name}.nix") + ] { + inherit name; + }); }; - yorick.machine = pkgs.lib.genAttrs names (name: nixos [ - ./roles - (./logical + "/${name}.nix") - ] { - inherit name; - }); } diff --git a/overlay.nix b/overlay.nix new file mode 100644 index 0000000..4e0a79a --- /dev/null +++ b/overlay.nix @@ -0,0 +1,10 @@ +let sources = import ./nix/sources.nix; in +pkgs: super: { + yorick = super.yorick // rec { + home = { check ? true, newsReadIdsFile ? null }: + import "${sources.home-manager}/home-manager/home-manager.nix" { + confPath = ./nix/.config/nixpkgs/home.nix; + inherit pkgs check newsReadIdsFile; + }; + }; +}