about summary refs log tree commit diff
path: root/home.nix
blob: acd7a7479237cf7f69ea561cd14cec32bd45e5e3 (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
{ config, pkgs, ... }:
let
  secrets = import ./secrets.nix;
  wywozik = pkgs.nur.repos.pn.wywozik-todo.override {
    configFile = ''
      CITY = "PoznaƄ"
      STREET = "${secrets.street}"
      NUMBER = "${secrets.number}"
      HOUSING = "zamieszkana"
      TOKEN = "${secrets.todoist}"
    '';
  };

  pnvim = import ./programs/nvim.nix pkgs;
  common_packages = import ./platforms/common-packages.nix pkgs;
  isDarwin = builtins.currentSystem == "x86_64-darwin";
  platformSetup =
    if isDarwin then [
      ./platforms/darwin
    ] else [
      ./platforms/linux
      # ./programs/rclone.nix
    ];

  music = pkgs.nur.repos.pn.larbs-music.override {
    musicDir = "~/music";
  };
in
{
  # Errors on linux
  manual.manpages.enable = if isDarwin then true else false;
  dconf.enable = if isDarwin then true else false;

  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;
  programs.obs-studio = {
    enable = true;
    plugins = with pkgs; [ obs-wlrobs obs-v4l2sink ];
  };

  # Home Manager needs a bit of information about you and the
  # paths it should manage.
  home.username = "pn";
  home.homeDirectory =
    if isDarwin then "/Users/pn" else "/home/pn";

  imports = [
    # Platform specific config
    ./programs/zsh
    ./programs/newsboat
    ./programs/git.nix
    ./programs/mpv.nix
    ./programs/sent
  ] ++ platformSetup;

  home.packages = with pkgs; [
    wywozik
    # Basic
    gnupg
    pnvim
    (lowPrio nur.repos.pn.larbs-mail)
    (lowPrio nur.repos.pn.larbs-news)
    (lowPrio music)
    nur.repos.pn.larbs-scripts
    slop
    xlibs.xdpyinfo
    nur.repos.pn.dmenu
    amfora
    translate-shell
    nix-index
    fzf

    # Handy tools
    skanlite
    imagemagick


    # Misc
    zoom-us
    weechat
    todoist
    browserpass
    minecraft
    spotify-tui
    spotifyd
    # gimp
    slack-dark
    signal-desktop
    pandoc
    texlive.combined.scheme-medium
    zathura
  ]
  ++ common_packages;

  # This value determines the Home Manager release that your
  # configuration is compatible with. This helps avoid breakage
  # when a new Home Manager release introduces backwards
  # incompatible changes.
  #
  # You can update Home Manager without changing this value. See
  # the Home Manager release notes for a list of state version
  # changes in each release.
  home.stateVersion = "20.09";
}