Skip to content
This repository has been archived by the owner on Jan 4, 2021. It is now read-only.

Commit

Permalink
Merge remote-tracking branch 'origin/master' into shabka_manage-osx-w…
Browse files Browse the repository at this point in the history
…ith-nix-darwin

* origin/master: (33 commits)
  overlay: expose both stable and unstable (#168)
  Switch my personal machines to use stable (#169)
  CircleCI: Fix the Darwin test (#167)
  [Nixpkgs] Add support for using a release per host (#166)
  home: install slack-cli (#165)
  [Shell] zsh: Replace exa with LS_COLORS (#163)
  hosts/hera: update the configuration of autorandr (#164)
  nixos: do not install neovim, it shadows user's version (#160)
  external/home-manager: Install packages through NixOS users.users.<name?>.packages (#159)
  [Browser] Surfingkeys: disable emoji auto-completion (#158)
  [NeoVim] Update the use of BetterWhitespace plugin (#157)
  home: Install fonts to improve the look and feel (#148)
  external/nur: update to 11937cf90187b7cb1eb43b02c8fc3a45cb16fd8b
  external/nixos-hardware: update to 36d8bd88cd72cfa8ee4162e6580f0a8e7de132ba
  external/nixpkgs-unstable: update to 929cc78363e6878e044556bd291382eab37bcbed
  external/nixpkgs-stable: update to 5225d4bf0193b51cfb1a200faa4ae50958f98c62
  external/home-manager: update to a3462daeb10ba908396aaa3aee521042a239d7ca
  scripts/update-external.sh: update and commit externals
  home: rofi: Use the correct theme for Gruvbox (#147)
  scripts/nixops: automatically commit changes to the deployments state (#145)
  ...
  • Loading branch information
kalbasit committed Feb 15, 2019
2 parents 5d0119f + 63847f2 commit 251a4c1
Show file tree
Hide file tree
Showing 75 changed files with 1,430 additions and 559 deletions.
124 changes: 73 additions & 51 deletions .circleci/config.yml
@@ -1,10 +1,20 @@
var_0: &global_env
CACHIX_CACHE: yl

var_1: &install-dependencies
var_1: &install-nix
run:
name: Install Nix
command: |
curl https://nixos.org/nix/install | sh
var_2: &install-dependencies
run:
name: Install dependencies
command: |
if [[ -r "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]]; then
source "${HOME}/.nix-profile/etc/profile.d/nix.sh"
fi
# install git
nix-env -f '<nixpkgs>' -iA gitAndTools.git
Expand All @@ -13,44 +23,69 @@ var_1: &install-dependencies
readonly nixpkgs="$( nix-build --no-out-link ${nixpkgs_stable} )"
nix-env -I nixpkgs="${nixpkgs}" -f '<nixpkgs>' -iA cachix
var_2: &enable-cachix
var_3: &enable-cachix
run:
name: Enable cachix
command: |
if [[ -r "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]]; then
source "${HOME}/.nix-profile/etc/profile.d/nix.sh"
fi
cachix use "${CACHIX_CACHE}"
var_4: &instantiate-host
run:
name: Instantiate the host
working_directory: ~/shabka
command: |
if [[ -r "${HOME}/.nix-profile/etc/profile.d/nix.sh" ]]; then
source "${HOME}/.nix-profile/etc/profile.d/nix.sh"
fi
readonly shabka_path="$( pwd )"
readonly nixpkgs_stable="${shabka_path}/external/nixpkgs-stable.nix"
readonly nixpkgs_unstable="${shabka_path}/external/nixpkgs-unstable.nix"
readonly host="${CIRCLE_JOB}"
if [[ -r "${shabka_path}/hosts/${host}/release" ]]; then
readonly release="$( cat "hosts/${host}/release" )"
else
# fallback to the default release
readonly release="stable"
fi
if [[ "${release}" = "stable" ]]; then
readonly nixpkgs="$( nix-build --no-out-link "${nixpkgs_stable}" )"
else
# TODO: improve the beild command
readonly nixpkgs="$( nix-build --no-out-link "${nixpkgs_unstable}" --arg runCommand '(import <nixpkgs> {}).runCommand' --arg fetchpatch '(import <nixpkgs> {}).fetchpatch' )"
fi
export NIX_PATH="nixpkgs=${nixpkgs}:shabka-path=${shabka_path}"
echo ">>> Instantiating the hostname '${host}' using nixpkgs at '${nixpkgs}'. NIX_PATH is set to '${NIX_PATH}'"
nix-instantiate "${shabka_path}/hosts/${host}"
version: 2
jobs:
athena:
macos:
xcode: "9.0"

working_directory: /go/src/github.com/kalbasit/shabka
working_directory: ~/shabka

environment:
<<: *global_env

docker:
- image: nixos/nix

steps:
- checkout
- *install-nix
- *install-dependencies
- *enable-cachix
- run:
name: Instantiate athena
working_directory: /go/src/github.com/kalbasit/shabka
command: |
readonly shabka_path="$( pwd )"
readonly nixpkgs_stable="${shabka_path}/external/nixpkgs-stable.nix"
readonly nixpkgs="$( nix-build --no-out-link ${nixpkgs_stable} )"
export NIX_PATH="nixpkgs=${nixpkgs}:shabka-path=${shabka_path}"
nix-instantiate ./hosts/athena
- *instantiate-host

cratos:
working_directory: /go/src/github.com/kalbasit/shabka
working_directory: ~/shabka

environment:
<<: *global_env
Expand All @@ -62,20 +97,10 @@ jobs:
- checkout
- *install-dependencies
- *enable-cachix
- run:
name: Instantiate cratos
working_directory: /go/src/github.com/kalbasit/shabka
command: |
readonly shabka_path="$( pwd )"
readonly nixpkgs_stable="${shabka_path}/external/nixpkgs-stable.nix"
readonly nixpkgs="$( nix-build --no-out-link ${nixpkgs_stable} )"
export NIX_PATH="nixpkgs=${nixpkgs}:shabka-path=${shabka_path}"
nix-instantiate ./hosts/cratos
- *instantiate-host

hades:
working_directory: /go/src/github.com/kalbasit/shabka
working_directory: ~/shabka

environment:
<<: *global_env
Expand All @@ -87,20 +112,25 @@ jobs:
- checkout
- *install-dependencies
- *enable-cachix
- run:
name: Instantiate hades
working_directory: /go/src/github.com/kalbasit/shabka
command: |
readonly shabka_path="$( pwd )"
readonly nixpkgs_stable="${shabka_path}/external/nixpkgs-stable.nix"
readonly nixpkgs="$( nix-build --no-out-link ${nixpkgs_stable} )"
- *instantiate-host

hera:
working_directory: ~/shabka

export NIX_PATH="nixpkgs=${nixpkgs}:shabka-path=${shabka_path}"
environment:
<<: *global_env

docker:
- image: nixos/nix

nix-instantiate ./hosts/hades
steps:
- checkout
- *install-dependencies
- *enable-cachix
- *instantiate-host

zeus:
working_directory: /go/src/github.com/kalbasit/shabka
working_directory: ~/shabka

environment:
<<: *global_env
Expand All @@ -112,17 +142,7 @@ jobs:
- checkout
- *install-dependencies
- *enable-cachix
- run:
name: Instantiate zeus
working_directory: /go/src/github.com/kalbasit/shabka
command: |
readonly shabka_path="$( pwd )"
readonly nixpkgs_stable="${shabka_path}/external/nixpkgs-stable.nix"
readonly nixpkgs="$( nix-build --no-out-link ${nixpkgs_stable} )"
export NIX_PATH="nixpkgs=${nixpkgs}:shabka-path=${shabka_path}"
nix-instantiate ./hosts/zeus
- *instantiate-host

workflows:
version: 2
Expand All @@ -134,5 +154,7 @@ workflows:
context: org-global
- hades:
context: org-global
- hera:
context: org-global
- zeus:
context: org-global
45 changes: 22 additions & 23 deletions Makefile
@@ -1,62 +1,61 @@
HOME_MANAGER_REF ?= refs/heads/master
KALBASIT_NUR_REF ?= refs/heads/master
NIXOS_HARDWARE_REF ?= refs/heads/master
NIXPKGS_UNSTABLE_REF ?= refs/heads/nixos-unstable
NIXPKGS_STABLE_REF ?= refs/heads/nixos-18.09
NUR_REF ?= refs/heads/master
HOME_MANAGER_REF ?= master
KALBASIT_NUR_REF ?= master
NIXOS_HARDWARE_REF ?= master
NIXPKGS_UNSTABLE_REF ?= nixos-unstable
NIXPKGS_STABLE_REF ?= nixos-18.09
NUR_REF ?= master

.PHONY: all
all: build

.PHONY: build
build:
./scripts/nixos-rebuild.sh "$(shell pwd)/hosts/$(shell hostname -s)/configuration.nix" build --show-trace
./scripts/nixos-rebuild.sh build --show-trace

.PHONY: test
test:
sudo ./scripts/nixos-rebuild.sh "$(shell pwd)/hosts/$(shell hostname -s)/configuration.nix" test --show-trace
sudo ./scripts/nixos-rebuild.sh test --show-trace

.PHONY: switch
switch:
sudo ./scripts/nixos-rebuild.sh "$(shell pwd)/hosts/$(shell hostname -s)/configuration.nix" switch --show-trace
sudo ./scripts/nixos-rebuild.sh switch --show-trace

.PHONY: boot
boot:
sudo ./scripts/nixos-rebuild.sh "$(shell pwd)/hosts/$(shell hostname -s)/configuration.nix" boot --show-trace
sudo ./scripts/nixos-rebuild.sh boot --show-trace

.PHONY: brew
brew:
brew bundle --file=os-specific/darwin/Brewfile

.PHONY: update-external
update-external: update-home-manager update-nixpkgs-stable update-nixpkgs-unstable update-nixos-hardware update-nur update-kalbasit-nur
update-external: update-home-manager update-nixpkgs-stable update-nixpkgs-unstable update-nixos-hardware update-nur update-kalbasit-nur update-kalbasit-keys

.PHONY: update-home-manager
update-home-manager:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/rycee/home-manager.git "$(HOME_MANAGER_REF)" > tmp && mv tmp external/home-manager-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh rycee home-manager "$(HOME_MANAGER_REF)" external/home-manager-version.json

.PHONY: update-nixpkgs-stable
update-nixpkgs-stable:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/NixOS/nixpkgs-channels.git "$(NIXPKGS_STABLE_REF)" > tmp && mv tmp external/nixpkgs-stable-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh NixOS nixpkgs-channels "$(NIXPKGS_STABLE_REF)" external/nixpkgs-stable-version.json

.PHONY: update-nixpkgs-unstable
update-nixpkgs-unstable:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/NixOS/nixpkgs-channels.git "$(NIXPKGS_UNSTABLE_REF)" > tmp && mv tmp external/nixpkgs-unstable-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh NixOS nixpkgs-channels "$(NIXPKGS_UNSTABLE_REF)" external/nixpkgs-unstable-version.json

.PHONY: update-nixos-hardware
update-nixos-hardware:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/NixOS/nixos-hardware.git "$(NIXOS_HARDWARE_REF)" > tmp && mv tmp external/nixos-hardware-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh NixOS nixos-hardware "$(NIXOS_HARDWARE_REF)" external/nixos-hardware-version.json

.PHONY: update-nur
update-nur:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/nix-community/NUR.git "$(NUR_REF)" > tmp && mv tmp external/nur-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh nix-community NUR "$(NUR_REF)" external/nur-version.json

.PHONY: update-kalbasit-nur
update-kalbasit-nur:
$(shell pwd)/scripts/nix-prefetch-git.sh https://github.com/kalbasit/nur-packages.git "$(KALBASIT_NUR_REF)" > tmp && mv tmp external/kalbasit-nur-version.json
rm -f tmp
$(shell pwd)/scripts/update-external.sh kalbasit nur-packages "$(KALBASIT_NUR_REF)" external/kalbasit-nur-version.json

.PHONY: update-kalbasit-keys
update-kalbasit-keys:
$(eval TMP := $(shell mktemp))
echo "{\"url\":\"https://github.com/kalbasit.keys\",\"sha256\":\"$(shell nix-prefetch-url https://github.com/kalbasit.keys)\"}" > $(TMP) && mv $(TMP) external/kalbasit-keys-version.json

0 comments on commit 251a4c1

Please sign in to comment.