blob: 442a03ad1bdf89efe99016411df4eddbe5c5bcd2 (
plain) (
blame)
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
|
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.nixfiles.modules.profiles.dev.default;
in {
imports = [
./containers.nix
./sql.nix
];
options.nixfiles.modules.profiles.dev.default.enable =
mkEnableOption "Catch-all profile for stuff related to software development and etc.";
config = mkIf cfg.enable {
nixfiles.modules = {
bat.enable = true;
curl.enable = true;
direnv.enable = true;
git.client.enable = true;
gnupg.enable = true;
nmap.enable = true;
wget.enable = true;
};
hm.home = {
file = {
".editorconfig".source = ./editorconfig.ini;
".gdbinit".source = ./gdbinit;
".ghc/ghci.conf".source = ./ghci.conf;
".stack/config.yaml".text = generators.toYAML {} {
templates.params = rec {
author-name = my.fullname;
author-email = my.email;
copyright = "Copyright (c) 2023 ${author-name} <${author-email}>";
github-username = my.username;
};
};
".stack/global-project/stack.yaml".text = generators.toYAML {} {
packages = [];
resolver = "lts-20.14";
};
};
sessionVariables = with config.dirs; rec {
CABAL_DIR = "${config.my.home}/.cabal";
CABAL_CONFIG = pkgs.writeText "cabal-config" ''
repository hackage.haskell.org
url: https://hackage.haskell.org/
secure: True
jobs: $ncpus
remote-repo-cache: ${CABAL_DIR}/packages
world-file: ${CABAL_DIR}/world
logs-dir: ${CABAL_DIR}/logs
build-summary: ${CABAL_DIR}/logs/build.log
installdir: ${CABAL_DIR}/bin
extra-prog-path: ${CABAL_DIR}/bin
'';
STACK_ROOT = "${config.my.home}/.stack";
CARGO_HOME = "${config.my.home}/.cargo";
GOPATH = "${config.my.home}/.go";
PYTHONSTARTUP = ./pystartup.py;
};
packages = with pkgs; [
htmlq
hydra-check
jq
nix-index
nix-update
nixpkgs-review
yq
];
};
};
}
|