diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 2feddf9..a3acaf8 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -55,3 +55,26 @@ jobs: authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - run: nix --print-build-logs --verbose build --allow-import-from-derivation .#nixosConfigurations.hs.config.system.build.toplevel + + build-pbp: + if: ${{ always() }} + needs: check + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - uses: cachix/install-nix-action@v17 + + - run: | + DEBIAN_FRONTEND=noninteractive + sudo apt-get update -q -y && sudo apt-get install -q -y qemu-system-aarch64 qemu-efi binfmt-support qemu-user-static + mkdir -p ~/.config/nix + sudo bash -c "echo system-features = aarch64-linux arm-linux >> /etc/nix/nix.conf" + + - uses: cachix/cachix-action@v10 + with: + name: aciceri-fleet + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + + - run: nix --print-build-logs --verbose build --allow-import-from-derivation --option system aarch64-linux --option sandbox false --extra-platforms aarch64-linux .#nixosConfigurations.pbp.config.system.build.toplevel diff --git a/hosts/pbp/default.nix b/hosts/pbp/default.nix index 1ab660f..1ea7339 100644 --- a/hosts/pbp/default.nix +++ b/hosts/pbp/default.nix @@ -12,9 +12,27 @@ "common" "ssh" "ccr" - #"mara" + "mara" + "xfce" + "battery" ]; ccr.enable = true; - # mara.enable = true; + mara = { + enable = true; + modules = [ + "shell" + "mpv" + "firefox" + "git" + "chrome" + "udiskie" + ]; + }; + + home-manager.users.mara = { + programs.chromium.package = lib.mkForce pkgs.chromium; + }; + + i18n.defaultLocale = lib.mkForce "it_IT.UTF-8"; } diff --git a/hosts/pbp/hardware-configuration.nix b/hosts/pbp/hardware-configuration.nix index b73e267..3c6d6d0 100644 --- a/hosts/pbp/hardware-configuration.nix +++ b/hosts/pbp/hardware-configuration.nix @@ -48,16 +48,16 @@ fileSystems = { "/" = { - device = "/dev/nvme0n1p1"; + device = "/dev/disk/by-label/nixos"; fsType = "btrfs"; }; "/boot" = { - device = "/dev/disk/by-uuid/C406-2AFC"; + device = "/dev/disk/by-label/boot"; fsType = "vfat"; }; }; - swapDevices = [{device = "/dev/disk/by-uuid/e236d328-496e-4cf8-ba54-857789ca258f";}]; + swapDevices = [{device = "/dev/disk/by-label/swap";}]; powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; diff --git a/hosts/thinkpad/default.nix b/hosts/thinkpad/default.nix index ef65df3..cc58556 100644 --- a/hosts/thinkpad/default.nix +++ b/hosts/thinkpad/default.nix @@ -25,6 +25,7 @@ "transmission" "fprintd" "binfmt" + "udisks2" ]; ccr = { diff --git a/modules/mara/default.nix b/modules/mara/default.nix new file mode 100644 index 0000000..b8a5f07 --- /dev/null +++ b/modules/mara/default.nix @@ -0,0 +1,71 @@ +{ + config, + lib, + pkgs, + fleetHmModules, + ... +}: { + options.mara = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + modules = lib.mkOption { + type = with lib.types; listOf str; + default = ["shell" "git"]; + }; + + packages = lib.mkOption { + type = with lib.types; listOf package; + default = []; + }; + + autologin = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + authorizedKeys = lib.mkOption { + type = with lib.types; listOf str; + default = [ + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJmn7H6wxrxCHypvY74Z6pBr5G6v564NaUZb9xIILV92JEdpZzuTLLlP+JkMx/8MLRy+pC7prMwR+FhH+LaTm/9x3T6FYP/q9UIAL3cFwBAwj5XQXQKzx9f6pX/7iJrMfAUQ+ZrRUNJHt5Gl+8UypmDgnQLuv5vmQSMRzKnUPuu4lCJtWOpSPhXffz3Ec1tm5nAMuxIMRPY91PYu1fMLlFrjB1FX1goVHKB1uWx16GjJszYCVbN6xcPac0sgUg+qNGBhWkUh0F073rhepQJeWp5FtwIxe2zRsZBxxTy5qxNLmHzBeNDxlOkcy2/Lr+BxVy+mhF/2fJziX80/bWSEA1" + ]; + }; + + hashedPassword = lib.mkOption { + type = lib.types.str; + default = "$6$znc6qUe/VpJFtoo4$1JWwDiykkqlUgXM2qfjyGoJT5J8kWKko83uMutB7eK1ApJToxawM8SSlksMUpJKJJ2DIPuJZZ7JIXN8U/Am8r."; # mkpasswd -m sha-512 + }; + + extraGroups = lib.mkOption { + type = with lib.types; listOf str; + default = ["wheel" "fuse" "networkmanager" "dialout"]; + }; + }; + + config = lib.mkIf config.mara.enable { + users.users.mara = { + uid = 1001; + hashedPassword = config.mara.hashedPassword; + description = "Mara Savastano"; + isNormalUser = true; + extraGroups = config.mara.extraGroups; + shell = pkgs.zsh; + openssh.authorizedKeys.keys = config.mara.authorizedKeys; + }; + + services.getty.autologinUser = + if config.mara.autologin + then "mara" + else null; + + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.mara = { + imports = fleetHmModules config.mara.modules; + home.packages = config.mara.packages; + home.stateVersion = config.system.stateVersion; + }; + }; +} diff --git a/modules/udisks2/default.nix b/modules/udisks2/default.nix new file mode 100644 index 0000000..c427974 --- /dev/null +++ b/modules/udisks2/default.nix @@ -0,0 +1,3 @@ +{ + services.udisks2.enable = true; +} diff --git a/modules/xfce/default.nix b/modules/xfce/default.nix new file mode 100644 index 0000000..2294bb4 --- /dev/null +++ b/modules/xfce/default.nix @@ -0,0 +1,18 @@ +{ + services.xserver = { + enable = true; + desktopManager = { + xterm.enable = false; + xfce.enable = true; + }; + displayManager = { + defaultSession = "xfce"; + autoLogin.user = "mara"; + }; + }; + + home-manager.users.mara.home.file."background-image" = { + target = ".background-image"; + source = ./mlp.jpg; + }; +} diff --git a/modules/xfce/mlp.jpg b/modules/xfce/mlp.jpg new file mode 100644 index 0000000..0a79279 Binary files /dev/null and b/modules/xfce/mlp.jpg differ