Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Edit this configuration file to define what should be installed on
- # your system. Help is available in the configuration.nix(5) man page
- # and in the NixOS manual (accessible by running ‘nixos-help’).
- { config, pkgs, ... }:
- let
- unstable = import <nixos-unstable> {
- config.allowUnfree = true;
- config.permittedInsecurePackages = [
- "python-2.7.18.6"
- "openssl-1.1.1u"
- ];
- };
- in
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- <home-manager/nixos>
- ];
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
- nixpkgs.config.allowUnfree = true;
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
- networking.hostName = "yggdrasil"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
- # Enable networking
- networking.networkmanager.enable = true;
- # Setup graphics
- hardware.opengl.enable = true;
- hardware.opengl.driSupport.enable = true;
- hardware.opengl.driSupport32Bit = true;
- hardware.opengl.extraPackages = with pkgs; [
- rocm-opencl-icd
- ];
- # Enable audio pkgs.dconf
- hardware.pulseaudio.enable = true;
- hardware.pulseaudio.support32Bit = true;
- #services.jack = {
- # jackd.enable = true;
- # alsa.enable = false;
- # loopback = {
- # enable = true;
- # };
- #};
- # Set your time zone.
- time.timeZone = "Europe/Berlin";
- # Select internationalisation properties.
- i18n.defaultLocale = "en_US.UTF-8";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "de_DE.UTF-8";
- LC_IDENTIFICATION = "de_DE.UTF-8";
- LC_MEASUREMENT = "de_DE.UTF-8";
- LC_MONETARY = "de_DE.UTF-8";
- LC_NAME = "de_DE.UTF-8";
- LC_NUMERIC = "de_DE.UTF-8";
- LC_PAPER = "de_DE.UTF-8";
- LC_TELEPHONE = "de_DE.UTF-8";
- LC_TIME = "de_DE.UTF-8";
- };
- environment.sessionVariables = rec {
- XDG_CACHE_HOME = "$HOME/.cache";
- XDG_CONFIG_HOME = "$HOME/.config";
- XDG_DATA_HOME = "$HOME/.local/share";
- XDG_STATE_HOME = "$HOME/.local/state";
- };
- # Configure keymap in X11
- services.xserver = {
- layout = "us";
- xkbVariant = "";
- };
- services.gvfs.enable = true;
- services.dbus.enable = true;
- services.gnome.tracker.enable = true;
- services.gnome.tracker-miners.enable = true;
- services.flatpak.enable = true;
- programs.dconf.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.dopfe = {
- isNormalUser = true;
- description = "<private information>";
- extraGroups = [ "networkmanager" "wheel" "audio" "jackaudio" ];
- packages = with pkgs; [];
- shell = pkgs.zsh;
- };
- security.polkit.enable = true;
- xdg.portal = {
- enable = true;
- wlr.enable = true;
- extraPortals = with pkgs; [
- xdg-desktop-portal-gtk
- xdg-desktop-portal-gnome
- ];
- };
- home-manager.users.dopfe = {
- dconf = {
- enable = true;
- settings = {
- "org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
- };
- };
- gtk = {
- enable = true;
- iconTheme = {
- name = "Papirus-Dark";
- package = pkgs.papirus-icon-theme;
- };
- theme = {
- name = "adw-gtk3-dark";
- package = pkgs.adw-gtk3;
- };
- cursorTheme = {
- name = "Numix-Cursor";
- package = pkgs.numix-cursor-theme;
- };
- };
- home.sessionVariables.GTK_THEME = "adw-gtk3-dark";
- home.stateVersion = "23.05";
- programs.home-manager.enable = true;
- };
- programs.zsh = {
- enable = true;
- ohMyZsh = {
- enable = true;
- plugins = [ "git" ];
- theme = "flazz";
- };
- };
- programs.steam.enable = true;
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- swayfx
- swaylock
- swayidle
- glib
- waybar
- wl-clipboard
- wf-recorder
- mako
- grim
- rofi
- pywal
- xdg-utils
- psmisc
- adw-gtk3
- gnome.adwaita-icon-theme
- python3
- lua
- gcc
- cmake
- meson
- zig
- rustup
- qjackctl
- pavucontrol
- unstable.davinci-resolve
- gimp
- darktable
- blender
- krita
- unstable.appflowy
- unstable.obsidian
- onlyoffice-bin
- kitty
- neovim
- firefox
- gnome.nautilus
- gnome.totem
- polkit_gnome
- appimage-run
- wget
- curl
- git
- unzip
- rclone
- mlocate
- ];
- fonts.fonts = with pkgs; [
- noto-fonts
- noto-fonts-emoji
- (nerdfonts.override { fonts = [ "FiraCode" "Mononoki" ]; })
- garamond-libre
- cantarell-fonts
- ];
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
- # List services that you want to enable:
- # Enable the OpenSSH daemon.
- # services.openssh.enable = true;
- systemd.services.onedrive = {
- enable = true;
- description = "Mount OneDrive to local storage";
- wantedBy = [ "multi-user.target" ];
- serviceConfig = {
- Type = "idle";
- Environment = [ "PATH=/run/wrappers/bin/:$PATH" ];
- User = "dopfe";
- ExecStart = "${pkgs.rclone}/bin/rclone mount --vfs-cache-mode full --config /home/dopfe/.config/rclone/rclone.conf OneDrive:/ /home/dopfe/OneDrive";
- };
- };
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "23.05"; # Did you read the comment?
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement