summaryrefslogtreecommitdiff
path: root/home/dk/sol.nix
blob: 57d9f83fd756a540e9ed0c2a8594667c5e252479 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
  inputs,
  lib,
  config,
  pkgs,
  ...
}: {
  # You can import other home-manager modules here
  imports = [
    # If you want to use home-manager modules from other flakes (such as nix-colors):
    # inputs.nix-colors.homeManagerModule

    # You can also split up your configuration and import pieces of it here:
    # ./nvim.nix
  ];

  nixpkgs = {
    # You can add overlays here
    overlays = [
      # If you want to use overlays exported from other flakes:
      # neovim-nightly-overlay.overlays.default

      # Or define it inline, for example:
      # (final: prev: {
      #   hi = final.hello.overrideAttrs (oldAttrs: {
      #     patches = [ ./change-hello-to-hi.patch ];
      #   });
      # })
    ];
    # Configure your nixpkgs instance
    config = {
      # Disable if you don't want unfree packages
      allowUnfree = true;
      # Workaround for https://github.com/nix-community/home-manager/issues/2942
      allowUnfreePredicate = _: true;
      permittedInsecurePackages = [
        "electron-33.4.11"
      ];
    };
  };

  home = {
    username = "dk";
    homeDirectory = "/home/dk";
  };

  # Add stuff for your user as you see fit:
  # programs.neovim.enable = true;
  home.packages = with pkgs; [
    discord
    prismlauncher
    guitarix
    teamspeak5_client
    godot_4
    gimp
    blender
    audacity
    musescore
    qjackctl
    inkscape
    texliveFull
    itch
    heroic
    lutris
    wine
  ];

    # Install firefox.
  programs.firefox.enable = true;

  services.flatpak = {
    enable = true;
    packages = [
      "org.ardour.Ardour"
      "org.freedesktop.LinuxAudio.Plugins.guitarixvst/x86_64/24.08"
      "app.zen_browser.zen"
      "at.vintagestory.VintageStory/x86_64/stable"
    ];
    overrides = {
      "org.ardour.Ardour" = {
        Environment = {
          LV2_PATH = "/app/extensions/Plugins/lv2";
        };
      };
    };
  };

  programs.bash.enable = true;
  programs.zoxide.enable = true;

  home.shellAliases = {
    hm-switch = "home-manager switch --flake ~/.config/nixos#dk@sol";
    nix-switch = "sudo nixos-rebuild switch --flake ~/.config/nixos#sol";
    cd = "echo Use z instead! && cd";
  };

  # Enable home-manager and git
  programs.home-manager.enable = true;
  programs.git = {
    enable = true;
    userName = "Dominik Kaiser";
    userEmail = "dkaisr@proton.me";
    ignores = [
      ".direnv"
      ".envrc"
    ];
  };

  home.file.".Xresources" = {
    enable = true;
    source = ../../dotfiles/xresources;
  };

  # Nicely reload system units when changing configs
  systemd.user.startServices = "sd-switch";

  # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
  home.stateVersion = "24.11";
}