mirror of
https://github.com/bdnugget/nix-config.git
synced 2026-11-07 09:07:27 +00:00
CI: nix-build-uncached (#9)
This commit is contained in:
1 parent
298d093c13
commit
f4ef395fc3
7 files changed
+45
-18
No files matched your search
@@ -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 +1,2 @@
|
||||
nixos/home/result
|
||||
result
|
||||
@@ -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
@@ -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
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
https://github.com/nix-community/home-manager/archive/f6d1cad.tar.gz
|
||||
File renamed without changes.
Reference in new issue
Block a user