aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/puppet/modules/basic_software/manifests/init.pp
blob: b44e980c9301f9616ff4d17c3699635da086894d (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
class basic_software {
  package {['less', 'traceroute', 'nmap', 'tree', 'tar', 'screen', 'git', 'net-tools', 'pipx', 'rsync', 'bash-completion', 'moreutils']:}

  if($facts['os']['family'] == 'RedHat') {
    package {'which':}

    copr {'emacs-30':
      user => 'mlampe',
      dist => 'epel-9',
    }
    ->
    package {'emacs-nw':}

    copr {'wezterm-nightly':
      user => 'wezfurlong',
      dist => 'rhel-9',
    }
    ->
    package {'wezterm':}
  }

  if ($facts['os']['family'] == 'Debian') {
    package {'emacs-nox':}
    if ($facts['os']['release']['major'] == 12) {
      file {'/etc/apt/preferences.d/90_emacs':
        content => @(EOT)
        Package: src:emacs
        Pin: release n=bookworm-backports
        Pin-Priority: 990
        | EOT
        ,
      }
      ~>
      Exec["/usr/bin/apt update"]
      ->
      Package['emacs-nox']

      package {'mlocate':}
    }

    file {'/usr/share/keyrings/wezterm-fury.armored':
      content => @(EOT)
      -----BEGIN PGP PUBLIC KEY BLOCK-----

      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
      qR+u
      =aOe5
      -----END PGP PUBLIC KEY BLOCK-----
      | EOT
      ,
    }
    ->
    exec {'/usr/bin/gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpg </usr/share/keyrings/wezterm-fury.armored':
      creates => '/usr/share/keyrings/wezterm-fury.gpg',
    }
    ~>
    Exec["/usr/bin/apt update"]

    file {'/etc/apt/sources.list.d/wezterm.list':
      content => 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *',
    }
    ~>
    Exec["/usr/bin/apt update"]

    Exec["/usr/bin/apt update"]
    ->
    package {'wezterm-nightly':}
  }
}