106 lines
3.3 KiB
Nix
106 lines
3.3 KiB
Nix
# nixosConfigurations.th0nkpad-nixos = nixpkgs.lib.nixosSystem {
|
||
|
||
{
|
||
# 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.
|
||
system
|
||
, # The system architecture for this host (eg. `x86_64-linux`).
|
||
target
|
||
, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
||
format
|
||
, # A normalized name for the system target (eg. `iso`).
|
||
virtual
|
||
, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
||
systems
|
||
, # An attribute map of your defined hosts.
|
||
|
||
# All other arguments come from the system system.
|
||
config
|
||
, ...
|
||
}:
|
||
let
|
||
inherit pkgs;
|
||
installedPackages = lib.my-namespace.mkPackages pkgs;
|
||
in
|
||
{
|
||
# inherit system;
|
||
imports = [
|
||
./configuration.nix
|
||
];
|
||
config = {
|
||
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
|
||
appimage-run
|
||
inputs.game-of-life.packages.x86_64-linux.default
|
||
# thunderbird
|
||
];
|
||
};
|
||
lib.my-namespace.home.stream-tools.enable = 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.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;
|
||
};
|
||
}
|