update flake to use snowfall
This commit is contained in:
147
flake.nix
147
flake.nix
@@ -2,110 +2,63 @@
|
||||
description = "Nixos config flake test";
|
||||
|
||||
inputs = {
|
||||
# nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixos-wsl.url = "github:nix-community/NixOS-WSL/main";
|
||||
# Snowfallorg's Flake utility
|
||||
snowfall-lib = {
|
||||
url = "github:snowfallorg/lib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
outputs = { self, nixpkgs, nixos-wsl, nix, ... }@inputs:
|
||||
let
|
||||
system =
|
||||
if builtins ? currentSystem
|
||||
then builtins.currentSystem
|
||||
else "x86_64-linux";
|
||||
pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
|
||||
installedPackages = (import ./installed-packages { inherit pkgs; });
|
||||
in
|
||||
{
|
||||
nixosConfigurations.drivebystation-nixos-wsl = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
nixos-wsl.nixosModules.default
|
||||
./systems/drivebystation-nixos-wsl/configuration.nix
|
||||
{
|
||||
system.stateVersion = "24.05";
|
||||
wsl.enable = true;
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
environment.systemPackages = [
|
||||
|
||||
]
|
||||
++ installedPackages.mkPackages.packages;
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
package = pkgs.nix-ld-rs;
|
||||
};
|
||||
}
|
||||
];
|
||||
specialArgs = { inherit inputs; };
|
||||
outputs = inputs:
|
||||
inputs.snowfall-lib.mkFlake {
|
||||
inherit inputs;
|
||||
src = ./.;
|
||||
|
||||
# Configure Snowfall Lib, all of these settings are optional.
|
||||
snowfall = {
|
||||
# Tell Snowfall Lib to look in the `./nix/` directory for your
|
||||
# Nix files.
|
||||
root = ./.;
|
||||
|
||||
# Choose a namespace to use for your flake's packages, library,
|
||||
# and overlays.
|
||||
namespace = "my-namespace";
|
||||
|
||||
# Add flake metadata that can be processed by tools like Snowfall Frost.
|
||||
meta = {
|
||||
# A slug to use in documentation when displaying things like file paths.
|
||||
name = "nixos-config-hionv";
|
||||
|
||||
# A title to show for your flake, typically the name.
|
||||
title = "Hion's Personal NixOS Config";
|
||||
};
|
||||
};
|
||||
nixosConfigurations.th0nkpad-nixos = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./systems/th0nkpad-nixos/configuration.nix
|
||||
{
|
||||
system.stateVersion = "24.05";
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.andreas = {
|
||||
isNormalUser = true;
|
||||
description = "Andreas";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [
|
||||
flatpak
|
||||
gnome-software
|
||||
soundwireserver
|
||||
vscode
|
||||
spotify
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
|
||||
systems.modules.nixos = with inputs; [
|
||||
# my-input.nixosModules.my-module
|
||||
];
|
||||
|
||||
# The attribute set specified here will be passed directly to NixPkgs when
|
||||
# instantiating the package set.
|
||||
channels-config = {
|
||||
# Allow unfree packages.
|
||||
allowUnfree = true;
|
||||
|
||||
# # Allow certain insecure packages
|
||||
# permittedInsecurePackages = [
|
||||
# "firefox-100.0.0"
|
||||
# ];
|
||||
|
||||
# # Additional configuration for specific packages.
|
||||
# config = {
|
||||
# # For example, enable smartcard support in Firefox.
|
||||
# firefox.smartcardSupport = true;
|
||||
# };
|
||||
|
||||
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
59010 #SoundWireServer
|
||||
3389 #RDP
|
||||
];
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
59010 #SoundWireServer
|
||||
3389 #RDP
|
||||
];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
|
||||
# Set up system Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
# wget
|
||||
]
|
||||
++ installedPackages.mkPackages.packages;
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
package = pkgs.nix-ld-rs;
|
||||
};
|
||||
services.flatpak.enable = true;
|
||||
systemd.services.flatpak-repo = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.flatpak ];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
# services.xrdp.enable = true;
|
||||
# services.xrdp.defaultWindowManager = "${pkgs.gnome-session}/bin/gnome-session";
|
||||
# services.xrdp.openFirewall = true;
|
||||
|
||||
# Disable the GNOME3/GDM auto-suspend feature that cannot be disabled in GUI!
|
||||
# If no user is logged in, the machine will power down after 20 minutes.
|
||||
systemd.targets.sleep.enable = false;
|
||||
systemd.targets.suspend.enable = false;
|
||||
systemd.targets.hibernate.enable = false;
|
||||
systemd.targets.hybrid-sleep.enable = false;
|
||||
}
|
||||
];
|
||||
specialArgs = { inherit inputs; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user