init
This commit is contained in:
commit
27bc941d29
7 changed files with 651 additions and 0 deletions
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
*.jpg filter=lfs diff=lfs merge=lfs -text
|
81
flake.lock
Normal file
81
flake.lock
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1720042825,
|
||||||
|
"narHash": "sha256-A0vrUB6x82/jvf17qPCpxaM+ulJnD8YZwH9Ci0BsAzE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "e1391fb22e18a36f57e6999c7a9f966dc80ac073",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-24.05",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"impermanence": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724489415,
|
||||||
|
"narHash": "sha256-ey8vhwY/6XCKoh7fyTn3aIQs7WeYSYtLbYEG87VCzX4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "impermanence",
|
||||||
|
"rev": "c7f5b394397398c023000cf843986ee2571a1fd7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "impermanence",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724316499,
|
||||||
|
"narHash": "sha256-Qb9MhKBUTCfWg/wqqaxt89Xfi6qTD3XpTzQ9eXi3JmE=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "797f7dc49e0bc7fab4b57c021cdf68f595e47841",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724754492,
|
||||||
|
"narHash": "sha256-oTQ3H993c2hJREkqEN5zyff5ifIRKDRtFTvHlxFcHdI=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"rev": "d39c7ced498d546513270b314d682ac5d7de734d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "NUR",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"impermanence": "impermanence",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nur": "nur"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
36
flake.nix
Normal file
36
flake.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
nixConfig.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-24.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, nur, home-manager, impermanence }@inputs: {
|
||||||
|
nixosConfigurations."stube-pc" = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = inputs;
|
||||||
|
modules = [
|
||||||
|
./stube-pc/system.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
impermanence.nixosModules.impermanence
|
||||||
|
{
|
||||||
|
nixpkgs.overlays = [ nur.overlay ];
|
||||||
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
extraSpecialArgs = inputs;
|
||||||
|
sharedModules = [ impermanence.nixosModules.home-manager.impermanence ];
|
||||||
|
users.stube.imports = [ ./stube-pc/home-manager.nix ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
BIN
stube-pc/background.jpg
(Stored with Git LFS)
Normal file
BIN
stube-pc/background.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
55
stube-pc/hardware-configuration.nix
Normal file
55
stube-pc/hardware-configuration.nix
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "sd_mod" "sr_mod" "usb_storage" ];
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" "radeon.cik_support=0" "amdgpu.cik_support=1" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "none";
|
||||||
|
fsType = "tmpfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "/dev/disk/by-uuid/a1872869-9d8d-4ef2-9fce-16cb0a562e6c";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=nix" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/persist" =
|
||||||
|
{ device = "/dev/disk/by-uuid/a1872869-9d8d-4ef2-9fce-16cb0a562e6c";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=persist" ];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/swap" =
|
||||||
|
{ device = "/dev/disk/by-uuid/a1872869-9d8d-4ef2-9fce-16cb0a562e6c";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=swap" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/3b635ee4-a134-4d2b-af7d-36e3930314d9";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ { device = "/swap/swapfile"; } ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
387
stube-pc/home-manager.nix
Normal file
387
stube-pc/home-manager.nix
Normal file
|
@ -0,0 +1,387 @@
|
||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
# a custom qlcplus desktop file to launch in kiosk mode with the correct workspace
|
||||||
|
qlcplus_launcher_entry = pkgs.writeText "qlcplus.desktop" ''
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Q Light Controller Plus
|
||||||
|
GenericName=Lighting control
|
||||||
|
Keywords=qlc;light;controller;dmx;analog;midi;artnet;e131;osc;
|
||||||
|
Exec=${pkgs.qlcplus}/bin/qlcplus --kiosk --open /home/stube/.stube.qxw
|
||||||
|
Icon=qlcplus
|
||||||
|
MimeType=application/x-qlc-workspace;
|
||||||
|
Categories=Qt;AudioVideo;
|
||||||
|
X-XFCE-Source=${pkgs.qlcplus}/share/applications/qlcplus.desktop
|
||||||
|
'';
|
||||||
|
|
||||||
|
custom-menu-file = pkgs.writeText "custom.menu" ''
|
||||||
|
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
|
||||||
|
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Xfce</Name>
|
||||||
|
|
||||||
|
<DefaultAppDirs/>
|
||||||
|
<DefaultDirectoryDirs/>
|
||||||
|
|
||||||
|
<Include>
|
||||||
|
<Filename>xfce4-file-manager.desktop</Filename>
|
||||||
|
<Filename>xfce4-web-browser.desktop</Filename>
|
||||||
|
<Filename>shutdown.desktop</Filename>
|
||||||
|
<Filename>restart.desktop</Filename>
|
||||||
|
</Include>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<Filename>xfce4-file-manager.desktop</Filename>
|
||||||
|
<Filename>xfce4-web-browser.desktop</Filename>
|
||||||
|
<Separator/>
|
||||||
|
<Merge type="all"/>
|
||||||
|
<Separator/>
|
||||||
|
<Filename>shutdown.desktop</Filename>
|
||||||
|
<Filename>restart.desktop</Filename>
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Development</Name>
|
||||||
|
<Directory>xfce-development.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Development</Category>
|
||||||
|
</Include>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Education</Name>
|
||||||
|
<Directory>xfce-education.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Education</Category>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Filename>math.desktop</Filename>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Games</Name>
|
||||||
|
<Directory>xfce-games.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Game</Category>
|
||||||
|
</Include>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Graphics</Name>
|
||||||
|
<Directory>xfce-graphics.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Graphics</Category>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Filename>draw.desktop</Filename>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Multimedia</Name>
|
||||||
|
<Directory>xfce-multimedia.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Audio</Category>
|
||||||
|
<Category>Video</Category>
|
||||||
|
<Category>AudioVideo</Category>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Filename>qlcplus-fixtureeditor.desktop</Filename>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Network</Name>
|
||||||
|
<Directory>xfce-network.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Network</Category>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Or>
|
||||||
|
<Filename>xfce4-mail-reader.desktop</Filename>
|
||||||
|
<Filename>xfce4-web-browser.desktop</Filename>
|
||||||
|
<Filename>xfce4-web-browser.desktop</Filename>
|
||||||
|
<Filename>firefox.desktop</Filename>
|
||||||
|
</Or>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Office</Name>
|
||||||
|
<Directory>xfce-office.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Office</Category>
|
||||||
|
</Include>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Science</Name>
|
||||||
|
<Directory>xfce-science.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Science</Category>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Filename>math.desktop</Filename>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>System</Name>
|
||||||
|
<Directory>xfce-system.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Or>
|
||||||
|
<Category>Emulator</Category>
|
||||||
|
<Category>System</Category>
|
||||||
|
</Or>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Filename>xfce4-session-logout.desktop</Filename>
|
||||||
|
</Exclude>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Settings</Name>
|
||||||
|
<Directory>xfce-settings.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Settings</Category>
|
||||||
|
</Include>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<Filename>xfce-settings-manager.desktop</Filename>
|
||||||
|
<Separator/>
|
||||||
|
<Merge type="all"/>
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Screensavers</Name>
|
||||||
|
<Directory>xfce-screensavers.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Category>Screensaver</Category>
|
||||||
|
</Include>
|
||||||
|
</Menu>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Accessories</Name>
|
||||||
|
<Directory>xfce-accessories.directory</Directory>
|
||||||
|
<Include>
|
||||||
|
<Or>
|
||||||
|
<Category>Accessibility</Category>
|
||||||
|
<Category>Core</Category>
|
||||||
|
<Category>Legacy</Category>
|
||||||
|
<Category>Utility</Category>
|
||||||
|
|
||||||
|
<Filename>qlcplus-fixtureeditor.desktop</Filename>
|
||||||
|
</Or>
|
||||||
|
</Include>
|
||||||
|
<Exclude>
|
||||||
|
<Or>
|
||||||
|
<Filename>xfce4-file-manager.desktop</Filename>
|
||||||
|
<Filename>xfce4-terminal-emulator.desktop</Filename>
|
||||||
|
<Filename>xfce4-about.desktop</Filename>
|
||||||
|
<Filename>xfce4-run.desktop</Filename>
|
||||||
|
</Or>
|
||||||
|
</Exclude>
|
||||||
|
</Menu>
|
||||||
|
</Menu>
|
||||||
|
|
||||||
|
<Menu>
|
||||||
|
<Name>Other</Name>
|
||||||
|
<Directory>xfce-other.directory</Directory>
|
||||||
|
<OnlyUnallocated/>
|
||||||
|
<Include>
|
||||||
|
<All/>
|
||||||
|
</Include>
|
||||||
|
</Menu>
|
||||||
|
<DefaultMergeDirs/>
|
||||||
|
|
||||||
|
</Menu>
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
home.persistence."/persist/home/stube" = {
|
||||||
|
files = [
|
||||||
|
".stube.qxw"
|
||||||
|
];
|
||||||
|
directories = [
|
||||||
|
".mixxx"
|
||||||
|
# xfconf.settings needs an existing installation
|
||||||
|
".config/xfce4"
|
||||||
|
];
|
||||||
|
allowOther = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.activation.restart-xfce4-panel = lib.hm.dag.entryAfter ["writeBoundary"] ''
|
||||||
|
run /bin/sh -c "${pkgs.xfce.xfce4-panel}/bin/xfce4-panel -r || true"
|
||||||
|
'';
|
||||||
|
xfconf.settings = {
|
||||||
|
xfwm4 = {
|
||||||
|
"general/workspace_count" = 1;
|
||||||
|
};
|
||||||
|
xfce4-power-manager = {
|
||||||
|
"xfce4-power-manager/presentation-mode" = true;
|
||||||
|
"xfce4-power-manager/lock-screen-suspend-hibernate" = false;
|
||||||
|
};
|
||||||
|
xfce4-notifyd."do-not-disturb" = true;
|
||||||
|
xfce4-panel = {
|
||||||
|
"plugins/plugin-100" = "applicationsmenu";
|
||||||
|
"plugins/plugin-100/custom-menu" = true;
|
||||||
|
"plugins/plugin-100/custom-menu-file" = "${custom-menu-file}";
|
||||||
|
"plugins/plugin-100/button-icon" = "org.xfce.panel.actions";
|
||||||
|
"plugins/plugin-100/button-title" = "Anwendungen";
|
||||||
|
"plugins/plugin-110" = "separator";
|
||||||
|
"plugins/plugin-110/style" = 0;
|
||||||
|
"plugins/plugin-101" = "tasklist";
|
||||||
|
"plugins/plugin-101/grouping" = "1";
|
||||||
|
"plugins/plugin-101/show-handle" = false;
|
||||||
|
"plugins/plugin-102" = "separator";
|
||||||
|
"plugins/plugin-102/expand" = true;
|
||||||
|
"plugins/plugin-102/style" = 0;
|
||||||
|
"plugins/plugin-103" = "systray";
|
||||||
|
"plugins/plugin-103/square-icons" = true;
|
||||||
|
"plugins/plugin-104" = "separator";
|
||||||
|
"plugins/plugin-104/style" = 0;
|
||||||
|
"plugins/plugin-105" = "pulseaudio";
|
||||||
|
"plugins/plugin-105/enable-keyboard-shortcuts" = true;
|
||||||
|
"plugins/plugin-106" = "separator";
|
||||||
|
"plugins/plugin-106/style" = 0;
|
||||||
|
"plugins/plugin-107" = "clock";
|
||||||
|
"plugins/plugin-107/digital-date-format" = "%d %b %Y";
|
||||||
|
"plugins/plugin-108" = "separator";
|
||||||
|
"plugins/plugin-108/style" = 0;
|
||||||
|
/*
|
||||||
|
"plugins/plugin-109" = "actions";
|
||||||
|
"plugins/plugin-109/items" = [
|
||||||
|
"-lock-screen"
|
||||||
|
"-switch-user"
|
||||||
|
"-separator"
|
||||||
|
"-suspend"
|
||||||
|
"-hibernate"
|
||||||
|
"-hybrid-sleep"
|
||||||
|
"-separator"
|
||||||
|
"+shutdown"
|
||||||
|
"-restart"
|
||||||
|
"-separator"
|
||||||
|
"-logout"
|
||||||
|
"-logout-dialog"
|
||||||
|
];
|
||||||
|
*/
|
||||||
|
"panels/panel-1/plugin-ids" = [ 100 110 101 102 103 104 105 106 107 108 ];
|
||||||
|
|
||||||
|
"plugins/plugin-200" = "showdesktop";
|
||||||
|
"plugins/plugin-201" = "launcher";
|
||||||
|
"plugins/plugin-201/items" = ["${pkgs.xfce.xfce4-settings}/share/applications/xfce4-file-manager.desktop"];
|
||||||
|
|
||||||
|
"plugins/plugin-210" = "separator";
|
||||||
|
"plugins/plugin-210/style" = 0;
|
||||||
|
|
||||||
|
"plugins/plugin-211" = "launcher";
|
||||||
|
"plugins/plugin-211/items" = ["${pkgs.firefox}/share/applications/firefox.desktop"];
|
||||||
|
"plugins/plugin-212" = "launcher";
|
||||||
|
"plugins/plugin-212/items" = ["${pkgs.spotify}/share/applications/spotify.desktop"];
|
||||||
|
"plugins/plugin-213" = "launcher";
|
||||||
|
"plugins/plugin-213/items" = ["${pkgs.mixxx}/share/applications/org.mixxx.Mixxx.desktop"];
|
||||||
|
|
||||||
|
"plugins/plugin-220" = "separator";
|
||||||
|
"plugins/plugin-220/style" = 0;
|
||||||
|
|
||||||
|
|
||||||
|
"plugins/plugin-221" = "launcher";
|
||||||
|
"plugins/plugin-221/items" = [ "${qlcplus_launcher_entry}" ];
|
||||||
|
|
||||||
|
"panels/panel-2/plugin-ids" = [ 200 201 210 211 212 213 220 221 ];
|
||||||
|
};
|
||||||
|
xfce4-desktop = {
|
||||||
|
"backdrop/screen0/monitorVirtual-1/workspace0/last-image" = "${./background.jpg}";
|
||||||
|
"desktop-icons/file-icons/show-home" = false;
|
||||||
|
"desktop-icons/file-icons/show-filesystem" = false;
|
||||||
|
"desktop-icons/file-icons/show-trash" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.desktopEntries.shutdown = {
|
||||||
|
name = "Herunterfahren";
|
||||||
|
terminal = false;
|
||||||
|
icon = "xfsm-shutdown";
|
||||||
|
exec = "shutdown -h now";
|
||||||
|
};
|
||||||
|
xdg.desktopEntries.restart = {
|
||||||
|
name = "Neustarten";
|
||||||
|
terminal = false;
|
||||||
|
icon = "xfsm-reboot";
|
||||||
|
exec = "reboot";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
qlcplus
|
||||||
|
spotify
|
||||||
|
mixxx
|
||||||
|
vlc
|
||||||
|
mpv
|
||||||
|
libreoffice-still
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.firefox = {
|
||||||
|
enable = true;
|
||||||
|
profiles.default = {
|
||||||
|
settings = {
|
||||||
|
"browser.startup.homepage" = "https://duckduckgo.com";
|
||||||
|
"general.useragent.locale" = "de-DE";
|
||||||
|
};
|
||||||
|
search = {
|
||||||
|
default = "DuckDuckGo";
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
ublock-origin
|
||||||
|
decentraleyes
|
||||||
|
privacy-badger
|
||||||
|
];
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
policies = {
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
EnableTrackingProtection = {
|
||||||
|
Value = true;
|
||||||
|
Locked = true;
|
||||||
|
Cryptomining = true;
|
||||||
|
Fingerprinting = true;
|
||||||
|
};
|
||||||
|
DisablePocket = true;
|
||||||
|
DisableFirefoxAccounts = true;
|
||||||
|
DisableAccounts = true;
|
||||||
|
DisableFirefoxScreenshots = true;
|
||||||
|
OverrideFirstRunPage = "";
|
||||||
|
OverridePostUpdatePage = "";
|
||||||
|
DontCheckDefaultBrowser = true;
|
||||||
|
DisplayBookmarksToolbar = "never";
|
||||||
|
DisplayMenuBar = "default-off";
|
||||||
|
SearchBar = "unified";
|
||||||
|
|
||||||
|
ExtensionSettings = {
|
||||||
|
"*".installation_mode = "blocked";
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
"jid1-MnnxcxisBPnSXQ@jetpack" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"jid1-BoFifL9Vbdl2zQ@jetpack" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/decentraleyes/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.stateVersion = "24.05";
|
||||||
|
}
|
88
stube-pc/system.nix
Normal file
88
stube-pc/system.nix
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
{ self, config, pkgs, lib, ...}: {
|
||||||
|
imports = [ ./hardware-configuration.nix ];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "spotify" ];
|
||||||
|
|
||||||
|
boot.loader.grub = {
|
||||||
|
enable = true;
|
||||||
|
device = "/dev/sda";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader.timeout = 1;
|
||||||
|
|
||||||
|
networking.hostName = "stube-pc";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.firewall.enable = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
users.mutableUsers = false;
|
||||||
|
users.users.root.password = "start1234";
|
||||||
|
users.users.stube = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "networkmanager" ];
|
||||||
|
password = "stube";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services."display-manager".after = [ "home-manager-stube.service" ];
|
||||||
|
|
||||||
|
console.keyMap = "de";
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb.layout = "de";
|
||||||
|
desktopManager.xfce.enable = true;
|
||||||
|
};
|
||||||
|
services.displayManager = {
|
||||||
|
enable = true;
|
||||||
|
defaultSession = "xfce";
|
||||||
|
autoLogin = {
|
||||||
|
enable = true;
|
||||||
|
user = "stube";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.xserver.displayManager.lightdm.greeter.enable = false;
|
||||||
|
services.xserver.displayManager.lightdm.autoLogin.timeout = 0;
|
||||||
|
services.xserver.desktopManager.xfce.enableScreensaver = false;
|
||||||
|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim
|
||||||
|
xfce.xfce4-pulseaudio-plugin
|
||||||
|
pavucontrol
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.etc."current-nixos".source = self;
|
||||||
|
|
||||||
|
environment.persistence."/persist" = {
|
||||||
|
enable = true;
|
||||||
|
hideMounts = true;
|
||||||
|
directories = [
|
||||||
|
"/var/log"
|
||||||
|
"/var/lib/nixos"
|
||||||
|
"/var/lib/systemd/coredump"
|
||||||
|
"/etc/NetworkManager/system-connections"
|
||||||
|
];
|
||||||
|
files = [
|
||||||
|
"/etc/machine-id"
|
||||||
|
"/etc/ssh/ssh_host_rsa_key"
|
||||||
|
"/etc/ssh/ssh_host_rsa_key.pub"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key"
|
||||||
|
"/etc/ssh/ssh_host_ed25519_key.pub"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
security.polkit.enable = true;
|
||||||
|
|
||||||
|
system.stateVersion = "24.05";
|
||||||
|
}
|
Loading…
Reference in a new issue