CI: nix-build-uncached (#9)

This commit is contained in:
Gabriel Volpe authored and GitHub committed 2021-08-22 18:47:06 +02:00
1 parent 298d093c13
commit f4ef395fc3
7 files changed
+45 -18

No files matched your search

+3 -3
View File
@@ -21,7 +21,7 @@ jobs:
- name: "Get pinned nixpkgs ❄️"
id: pinned_nixpkgs
run: echo "::set-output name=url::$(cat PINNED_NIXPKGS)"
run: echo "::set-output name=url::$(cat ./pinned/nixpkgs)"
- name: "Install Nix ❄️"
uses: cachix/install-nix-action@v13
@@ -38,5 +38,5 @@ jobs:
- name: "Set priority flag for Cachix 🚩"
run: nix-env --set-flag priority 0 cachix
- name: "Build Home Manager 🏠 config"
run: ./install.sh home
- name: "Build Home Manager config 🏠"
run: ./build.sh ci
+1
View File
@@ -1 +1,2 @@
nixos/home/result
result
+2 -2
View File
@@ -59,9 +59,9 @@ Here is an overview of the folders' structure:
└── wm
```
- `build.sh`: the build and installation script.
- `home`: all the user programs, services and dotfiles.
- `imgs`: screenshots and other images.
- `install.sh`: the install script.
- `notes`: cheat-sheets, docs, etc.
- `system`: the NixOS configuration, settings for different laptops and window managers.
@@ -74,5 +74,5 @@ mkdir DELETE_ME && cd DELETE_ME
nix-shell --run \
"wget -c https://github.com/gvolpe/nix-config/archive/master.tar.gz && tar --strip-components=1 -xvf master.tar.gz" \
-p wget s-tar
chmod +x install.sh && ./install.sh
chmod +x build.sh && ./build.sh
```
+20 -13
View File
@@ -3,7 +3,7 @@
# Shows the output of every command
set +x
build_home() {
prepare_home() {
echo "Creating config / cache directories..."
# Polybar logs
@@ -22,20 +22,29 @@ build_home() {
# Desktop pic
mkdir -p $HOME/Pictures/
cp home/nixos.png $HOME/Pictures/
}
# Install Home Manager
install_hm() {
echo "Installing Home Manager..."
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --add $(cat ./pinned/home-manager) home-manager
nix-channel --update
export NIX_PATH=$HOME/.nix-defexpr/channels${NIX_PATH:+:}$NIX_PATH
nix-shell '<home-manager>' -A install
# Run Home Manager
echo "Running Home Manager build..."
home-manager build
}
build_home_extra() {
build_ci() {
prepare_home
nix-shell -p nix-build-uncached --run nix-build-uncached
}
build_home() {
prepare_home
install_hm
# Switch to HM's latest build
echo "Running Home Manager switch..."
home-manager switch
# Set user's profile picture for Gnome3
sudo cp home/gvolpe.png /var/lib/AccountsService/icons/gvolpe
sudo echo "Icon=/var/lib/AccountsService/icons/gvolpe" >> /var/lib/AccountsService/users/gvolpe
@@ -50,7 +59,7 @@ build_system() {
sudo cp -r system/fonts/ /etc/nixos/
sudo cp -r system/machine/ /etc/nixos/
sudo cp -r system/wm/ /etc/nixos/
sudo nixos-rebuild -I nixpkgs=$(cat PINNED_NIXPKGS) switch --upgrade
sudo nixos-rebuild -I nixpkgs=$(cat ./pinned/nixpkgs) switch --upgrade
}
build_all() {
@@ -58,15 +67,13 @@ build_all() {
build_system
nix-shell -p cachix --run "cachix use gvolpe-nixos"
build_home
home-manager switch
build_home_extra
}
case $1 in
"ci")
build_ci;;
"home")
build_home;;
"home-extra")
build_home_extra;;
"system")
build_system;;
*)
+18
View File
@@ -0,0 +1,18 @@
{ pkgs ? import <nixpkgs> {} }:
let
hm_url = pkgs.lib.strings.removeSuffix "\n" (builtins.readFile ./pinned/home-manager);
home-manager = builtins.fetchTarball {
name = "home-manager-2021-08-21";
url = hm_url;
sha256 = "0s8nlgrf16bz2bhnk0xrzvivagq55cifxf2p545c7n4zj9ryfkkp";
};
evalHome = import "${toString home-manager}/modules";
in
evalHome {
configuration = ./home/home.nix;
lib = pkgs.lib;
pkgs = pkgs;
}
+1
View File
@@ -0,0 +1 @@
https://github.com/nix-community/home-manager/archive/f6d1cad.tar.gz
View File
File renamed without changes.