Compare commits

...

2 Commits

Author SHA1 Message Date
741c033e01 asahi: basic packages/plan 2024-01-29 23:10:03 -05:00
46fd395753 Basic Asahi (to be home manager) config 2024-01-29 23:05:30 -05:00
2 changed files with 78 additions and 0 deletions

View File

@@ -35,6 +35,10 @@
# Will in future be macports based
mac-emacs = me-emacs.packages."aarch64-darwin".emacs;
});
pkgs_linux-x86_64 = nixpkgs.legacyPackages."x86-linux";
pkgs_linux-aarch64 = nixpkgs.legacyPackages."aarch64-linux";
in {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
@@ -76,5 +80,17 @@
}
];
};
homeConfigurations."universelaptop" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgs_linux-aarch64;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [ ./machines/asahi/home.nix ];
extraSpecialArgs = {
pkgs-x86_64 = pkgs_linux-x86_64;
inputs = attrs;
};
};
};
}

62
machines/asahi/home.nix Normal file
View File

@@ -0,0 +1,62 @@
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "universelaptop";
home.homeDirectory = "/home/universelaptop";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = [
me-emacs
armcord
# TODO: Make home-manager module for loading x86_64 apps and automatically
# wrapping them in box64-asahi (page size change, like in Fedora repo)
# as well as, with override option, to enable support for box86/wine
];
services.nextcloud-client.enable;
# Home Manager is pretty good at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. If you don't want to manage your shell through Home
# Manager then you have to manually source 'hm-session-vars.sh' located at
# either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/universelaptop/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
EDITOR = "emacs";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}