Compare commits

..

No commits in common. "c323a747ea64563851fbadd06600d76c94e9d755" and "7db055ca2714e24cdb4a5082df79253070c929a0" have entirely different histories.

14 changed files with 220 additions and 160 deletions

View File

@ -73,9 +73,6 @@
import nixpkgs {
inherit system;
config.allowUnfree = true;
config.permittedInsecurePackages = [
"olm-3.2.16"
];
}
);
in
@ -107,12 +104,6 @@
inherit inputs outputs;
};
};
kardorf = lib.nixosSystem {
modules = [ ./hosts/pianonix ];
specialArgs = {
inherit inputs outputs;
};
};
};
# Standalone HM
@ -139,28 +130,16 @@
inherit inputs outputs;
};
};
"julian@kardorf" = lib.homeManagerConfiguration {
modules = [
./homes/julian/kardorf.nix
./homes/julian/hm-standalone-config.nix
];
pkgs = pkgsFor.aarch64-linux;
extraSpecialArgs = {
inherit inputs outputs;
};
};
"julian@v3ms" = lib.homeManagerConfiguration {
modules = [
./homes/julian/v3ms
./homes/julian/hm-standalone-config.nix
];
pkgs = pkgsFor.aarch64-linux;
extraSpecialArgs = {
inherit inputs outputs;
};
};
};
# systems.modules.nixos = with inputs; [
# sops-nix.nixosModules.sops
# disko.nixosModules.disko
# TODO: add sops and disko modules somewhere
# ];
# systems.hosts.pianonix.modules = with inputs; [ nixos-hardware.nixosModules.raspberry-pi-4 ];
# TODO: add rpi4 hardware modules
# deploy-rs node configuration
deploy.nodes = {
pianonix = {

View File

@ -1,3 +1,6 @@
{
...
}:
{
imports = [
./global
@ -22,6 +25,6 @@
hostName = "aspi";
is-nixos = true;
terminal = "kitty";
terminal = "kitty"; # TODO: only terminal = ???
}

View File

@ -7,13 +7,13 @@
# Apply overlays
nixpkgs = {
overlays = builtins.attrValues outputs.overlays;
# config = {
# allowUnfree = true;
# allowUnfreePredicate = _: true; # TODO: what is this
# permittedInsecurePackages = [
# "olm-3.2.16"
# ];
# };
config = {
allowUnfree = true;
allowUnfreePredicate = _: true; # TODO: what is this
permittedInsecurePackages = [
"olm-3.2.16"
];
};
};
# Setup binary caches

View File

@ -1,27 +1,57 @@
{
imports = [
./global
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
./features/fish
./features/direnv
./features/topgrade
./features/neovim
./features/kitty
./features/wezterm
./features/yazi
./features/emacs
./features/i3
./features/nix-helper
./features/desktop
# Additional metadata is provided by Snowfall Lib.
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
home, # The home architecture for this host (eg. `x86_64-linux`).
target, # The Snowfall Lib target for this home (eg. `x86_64-home`).
format, # A normalized name for the home target (eg. `home`).
virtual, # A boolean to determine whether this home is a virtual target using nixos-generators.
host, # The host name for this home.
./features/suites/cli
./features/suites/desktop
./features/suites/development
# All other arguments come from the home home.
config,
...
}:
{
home.username = "julian";
home.homeDirectory = "/home/julian";
];
modules = {
non-nixos.is-nixos = true;
shell = {
fish.enable = true;
direnv.enable = true;
};
topgrade.enable = true;
neovim.enable = true;
# alacritty.enable = true;
kitty.enable = true;
yazi.enable = true;
emacs.enable = true;
i3.enable = true;
nix-helper.enable = true;
hostName = "kardorf";
is-nixos = true;
terminal = "kitty";
desktop.enable = true;
fonts.enable = true;
suites = {
cli.enable = true;
desktop.enable = true;
development.enable = true;
};
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# ======================== DO NOT CHANGE THIS ========================
home.stateVersion = "23.11";
# ======================== DO NOT CHANGE THIS ========================
}

View File

@ -1,23 +1,43 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
# Additional metadata is provided by Snowfall Lib.
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
home,
target, # The Snowfall Lib target for this home (eg. `x86_64-home`).
format, # A normalized name for the home target (eg. `home`).
virtual, # A boolean to determine whether this home is a virtual target using nixos-generators.
host, # The host name for this home.
# All other arguments come from the home home.
config,
...
}:
}@arguments:
{
imports = [
./global
home.username = "julian";
home.homeDirectory = "/home/julian";
./features/fish
./features/topgrade
./features/neovim
./features/wezterm
./features/yazi
./features/nix-helper
./features/desktop
];
modules = {
non-nixos.is-nixos = true;
hostName = "pianonix";
is-nixos = true;
terminal = "wezterm";
shell = {
fish.enable = true;
};
yazi.enable = true;
topgrade.enable = true;
neovim.enable = true;
wezterm.enable = true;
nix-helper.enable = true;
desktop.enable = true;
fonts.enable = true;
};
services.syncthing.tray.enable = true;
services.syncthing.tray.command = "syncthingtray --wait"; # Wait for tray to become available
@ -40,4 +60,11 @@
working_directory = "/home/julian/Klavier"
'';
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# ======================== DO NOT CHANGE THIS ========================
home.stateVersion = "23.11";
# ======================== DO NOT CHANGE THIS ========================
}

View File

@ -1 +0,0 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFjSZYdoF/51F+ykcBAYVCzCPTF5EEigWBL1APiR0h+H

View File

@ -1,24 +1,41 @@
{
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# You also have access to your flake's inputs.
inputs,
# Additional metadata is provided by Snowfall Lib.
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
home, # The home architecture for this host (eg. `x86_64-linux`).
target, # The Snowfall Lib target for this home (eg. `x86_64-home`).
format, # A normalized name for the home target (eg. `home`).
virtual, # A boolean to determine whether this home is a virtual target using nixos-generators.
host, # The host name for this home.
# All other arguments come from the home home.
config,
...
}:
{
imports = [
../global
home.username = "julian";
home.homeDirectory = "/home/julian";
../features/fish
../features/direnv
../features/topgrade
../features/neovim
../features/yazi
../features/emacs
../features/nix-helper
];
modules = {
non-nixos.is-nixos = false;
shell = {
fish.enable = true;
direnv.enable = true;
};
topgrade.enable = true;
neovim.enable = true;
yazi.enable = true;
emacs.enable = true;
hostName = "aspi";
is-nixos = false;
# terminal = "kitty";
nix-helper.enable = true;
};
home.packages =
lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; })
@ -26,4 +43,11 @@
./fonts.nix
./packages.nix
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# ======================== DO NOT CHANGE THIS ========================
home.stateVersion = "23.11";
# ======================== DO NOT CHANGE THIS ========================
}

View File

@ -4,11 +4,7 @@
{ config, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
../common/global
];
imports = [ ./hardware-configuration.nix ];
# hardware.graphics = {
# enable = true;

View File

@ -18,8 +18,5 @@ in
keyFile = "/home/julian/.config/sops/age/keys.txt";
# Generate key if none of the above worked. With this, building will still work, just without secrets
generateKey = true;
};
sops.defaultSopsFile = ../secrets.yaml;
}

View File

@ -1,6 +1,6 @@
{
security.rtkit.enable = true;
services.pulseaudio.enable = false;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;

View File

@ -11,35 +11,38 @@
...
}:
{
imports = [
# inputs.hardware.nixosModules.common-cpu-amd # TODO something useful for me?
./hardware-configuration.nix
../common/global
../common/users/julian
# ../common/optional/openssh.nix
# ../common/optional/greetd.nix
../common/optional/pipewire.nix
../common/optional/remote-builder.nix
../common/optional/boot-efi.nix
../common/optional/pcmanfm.nix
../common/optional/i3.nix
../common/optional/gdm.nix
../common/optional/redshift.nix
../common/optional/virtualbox.nix
../common/optional/xdg-portal.nix
../common/optional/polkit.nix # TODO: maybe not needed!
../common/optional/keyring.nix # TODO: maybe not needed!
];
imports = [ ./hardware-configuration.nix ];
networking.hostName = "kardorf"; # Define your hostname.
networking.networkmanager.enable = true;
services.resolved.enable = true;
topology.self = {
hardware.info = "Pc Kardorf";
};
time.timeZone = "Europe/Berlin";
modules = {
nix-settings.enable = true;
xserver-defaults.enable = true;
keymap.enable = true;
builder.enable = true;
system.boot-efi.enable = true;
sound.enable = true;
locales.enable = true;
pcmanfm.enable = true;
i3.enable = true;
gdm.enable = true;
virtualbox.enable = true;
users-julian.enable = true;
xdg-portal.enable = true;
polkit.enable = true;
keyring.enable = true;
redshift.enable = true;
syncthing.enable = true;
};
boot.loader.efi.efiSysMountPoint = "/boot/efi";
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_470;

View File

@ -10,28 +10,7 @@
...
}:
{
imports = [
inputs.nixos-hardware.nixosModules.raspberry-pi-4
./hardware-configuration.nix
../common/global
../common/users/julian
# ../common/optional/openssh.nix
# ../common/optional/greetd.nix
../common/optional/pipewire.nix
../common/optional/remote-builder.nix
# ../common/optional/boot-efi.nix
../common/optional/pcmanfm.nix
# ../common/optional/i3.nix
# ../common/optional/gdm.nix
../common/optional/redshift.nix
# ../common/optional/virtualbox.nix
../common/optional/xdg-portal.nix
../common/optional/polkit.nix # TODO: maybe not needed!
../common/optional/keyring.nix # TODO: maybe not needed!
];
imports = [ ./hardware-configuration.nix ];
# disko.devices.disk.main.device = "/dev/mmcblk1";
@ -48,7 +27,7 @@
sops.secrets."vnc-passwd" = {
owner = config.users.users.julian.name;
sopsFile = ./vnc-passwd;
sopsFile = ../../../secrets/vnc-passwd;
format = "binary";
};
sops.secrets."wifi/pianonix" = { };
@ -56,15 +35,43 @@
sops.secrets."syncthing/pianonix/cert" = { };
# sops.secrets."syncthing/public-keys/aspi-nix" = { };
# sops.secrets."syncthing/public-keys/pianonix" = { };
sops.secrets."password/pianonix" = {
neededForUsers = true; # necessary for setting password
};
modules = {
sops.enable = true;
nix-settings.enable = true;
xserver-defaults.enable = true;
keymap.enable = true;
builder.enable = false;
# system.boot-efi.enable = true;
sound.enable = true;
locales.enable = true;
pcmanfm.enable = true;
# i3.enable = true;
# gdm.enable = true;
redshift.enable = true;
# wayland.enable = true;
# hyprland.enable = true;
# tuigreet.enable = true;
# virtualbox.enable = true;
users-julian.enable = true;
syncthing = {
enable = true;
overrideSettings = true;
};
# xdg-portal.enable = true;
polkit.enable = true;
keyring.enable = true;
};
users.mutableUsers = false;
users.users.julian.hashedPasswordFile = config.sops.secrets."password/pianonix".path;
# Enable the Desktop Environment.
# services.xserver.displayManager.lightdm.enable = true;

View File

@ -1,6 +1,6 @@
{
inputs,
...
outputs,
}:
{
# For every flake input, aliases 'pkgs.inputs.${flake}' to
@ -17,13 +17,8 @@
) inputs;
};
input-flake-packages = final: prev: {
sheet-organizer = inputs.sheet-organizer.packages.${prev.system}.default; # TODO: change sheet-organizer package output
music-reader = inputs.music-reader.defaultPackage.${prev.system}; # TODO: change music reader to packages.system
};
# Adds my custom packages, available as pkgs.frajul.xyz
my-pkgs = final: prev: { frajul = import ../pkgs { pkgs = final; }; };
# Adds my custom packages
my-pkgs = final: prev: import ../pkgs { pkgs = final; };
nixpkgs-stable-unstable = final: prev: {
unstable = import inputs.nixpkgs {
@ -37,8 +32,8 @@
};
# Makes gparted actually open
gparted-xhost = final: prev: {
gparted-xhost = prev.gparted.overrideAttrs (oldAttrs: {
gparted-xhost = self: super: {
gparted-xhost = super.gparted.overrideAttrs (oldAttrs: {
configureFlags = oldAttrs.configureFlags ++ [ "--enable-xhost-root" ];
});
};

View File

@ -3,15 +3,15 @@
...
}:
{
conda-direnv = pkgs.callPackage ./conda-direnv { };
deploy-to-pianopi = pkgs.callPackage ./deploy-to-pianopi { };
edit-config = pkgs.callPackage ./edit-config { };
hyprshot-gui = pkgs.callPackage ./hyprshot-gui { };
install = pkgs.callPackage ./install { };
lntocp = pkgs.callPackage ./lntocp { };
open-messaging = pkgs.callPackage ./open-messaging { };
pulseaudio-popup = pkgs.callPackage ./pulseaudio-popup { };
sos = pkgs.callPackage ./sos { };
xwacomcalibrate = pkgs.callPackage ./xwacomcalibrate { };
acer-battery-health-mode = pkgs.callPackage ./acer-battery-health-mode { };
frajul.conda-direnv = pkgs.callPackage ./conda-direnv { };
frajul.deploy-to-pianopi = pkgs.callPackage ./deploy-to-pianopi { };
frajul.edit-config = pkgs.callPackage ./edit-config { };
frajul.hyprshot-gui = pkgs.callPackage ./hyprshot-gui { };
frajul.install = pkgs.callPackage ./install { };
frajul.lntocp = pkgs.callPackage ./lntocp { };
frajul.open-messaging = pkgs.callPackage ./open-messaging { };
frajul.pulseaudio-popup = pkgs.callPackage ./pulseaudio-popup { };
frajul.sos = pkgs.callPackage ./sos { };
frajul.xwacomcalibrate = pkgs.callPackage ./xwacomcalibrate { };
frajul.acer-battery-health-mode = pkgs.callPackage ./acer-battery-health-mode { };
}